Qore ConnectionProvider Module Reference
1.2.1
|
abstract base class for connections More...
Public Member Methods | |
deprecated | constructor (string n_name, string n_desc, string n_url, bool n_monitor, *hash n_opts, hash n_urlh, *string n_safe_url, *bool n_enabled) |
creates the AbstractConnection object More... | |
constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={}) | |
creates the AbstractConnection object More... | |
object | get (bool connect=True, *hash rtopts) |
returns the underlying connection object More... | |
hash< ConfigInfo > | getConfigHash () |
returns a ConfigInfo hash of static configuration information about the connection More... | |
hash< ConnectionConstructorInfo > | getConstructorInfo () |
returns a ConnectionConstructorInfo hash for creating the connection object dynamically More... | |
*hash | getDefaultOptions () |
returns default options | |
hash< ConnectionInfo > | getInfo (bool with_password=False) |
returns a ConnectionInfo hash of information about the connection More... | |
*hash | getOptions () |
returns static / initialization options | |
*hash | getRealOptions () |
returns options for saving the connection's configuration information | |
*hash | getRuntimeOptions () |
returns runtime options | |
auto | getTag (string tag) |
returns the value of the given tag or NOTHING if not present | |
auto | getTagEx (string tag) |
returns the value of the given tag or throws an exception if the tag is not set with a value More... | |
hash< auto > | getTags () |
returns all tags associated with the connection | |
abstract string | getType () |
returns the string type name for the connection object | |
parseTextOptions () | |
this method is called when parsing connection file definitions from text files when loading into the database More... | |
hash< PingInfo > | ping (bool throw_exception=False) |
returns a hash with the results of the ping operation More... | |
hash< auto > | validateOptions (hash< auto > options) |
performs options validation in the constructor More... | |
Public Attributes | |
string | desc |
connection description | |
bool | enabled = True |
enabled/disabled indicator flag | |
date | last_check |
date/time of last check/ping | |
bool | locked = False |
locked/unlocked flag | |
bool | loopback = False |
set to True for loopback connections | |
bool | monitor |
monitoring flag | |
string | name |
connection name | |
*hash | opts |
connection options | |
*hash | orig_opts |
original connection options | |
string | safe_url |
"safe" URL (password information removed) | |
string | status = "not checked" |
status string; in case of a connection error this string will be the error string | |
hash< auto > | tags = {} |
connection tags; user-defined key-value pairs | |
bool | up = False |
connection status flag; set by monitoring or explicit pings/connections | |
date | updated |
date/time of last update | |
string | url |
connection URL (potentially with password info) | |
hash | urlh |
broken down URL hash (as returned by Qore::parse_url()) | |
Static Public Attributes | |
static *code | post_processing |
optional code for default post-processing of objects created by getImpl(); must take the object created and the connection name as arguments | |
Private Member Methods | |
abstract hash< ConnectionConstructorInfo > | getConstructorInfoImpl () |
this method must return a ConnectionConstructorInfo hash for creating the connection object dynamically More... | |
abstract object | getImpl (bool connect=True, *hash rtopts) |
this method must return the connection object corresponding to the object's configuration More... | |
string | getSafeUrl (hash< auto > urlh) |
creates a "safe" URL string with password information removed More... | |
hash< UrlInfo > | parseUrl (string url) |
Parse the URL to a hash. More... | |
hash< PingInfo > | pingIntern (hash< PingInfo > rv) |
performs the ping by executing get(); returns a PingInfo hash | |
abstract base class for connections
this class can be specialized to provide for user-defined connection types
deprecated ConnectionProvider::AbstractConnection::constructor | ( | string | n_name, |
string | n_desc, | ||
string | n_url, | ||
bool | n_monitor, | ||
*hash | n_opts, | ||
hash | n_urlh, | ||
*string | n_safe_url, | ||
*bool | n_enabled | ||
) |
creates the AbstractConnection object
n_name | the name of the connection |
n_desc | connection description |
n_url | connection URL (potentially with password info) |
n_monitor | monitoring flag |
n_opts | connection options |
n_urlh | broken down URL hash (as returned by Qore::parse_url()) |
n_safe_url | "safe" URL (password information removed); if not set this will be set automatically by calling getSafeUrl() |
n_enabled | enabled/disabled flag |
ConnectionProvider::AbstractConnection::constructor | ( | string | name, |
string | description, | ||
string | url, | ||
hash< auto > | attributes = {} , |
||
hash< auto > | options = {} |
||
) |
creates the AbstractConnection object
name | the name of the connection |
description | connection description |
url | connection URL (potentially with password info) |
attributes | various attributes; see below |
options | connection options |
Attributes are special flags for given connection - stored as public attributes of the object instance. For now there are:
enabled
(bool), default True
monitor
(bool), default True
locked
(bool), default False
tags
(hash), no default value returns the underlying connection object
calls getImpl() to actually acquire the connection object
hash<ConfigInfo> ConnectionProvider::AbstractConnection::getConfigHash | ( | ) |
returns a ConfigInfo hash of static configuration information about the connection
hash<ConnectionConstructorInfo> ConnectionProvider::AbstractConnection::getConstructorInfo | ( | ) |
returns a ConnectionConstructorInfo hash for creating the connection object dynamically
|
privatepure virtual |
this method must return a ConnectionConstructorInfo hash for creating the connection object dynamically
Implemented in ConnectionProvider::HttpConnection, ConnectionProvider::FilesystemConnection, ConnectionProvider::FtpConnection, and ConnectionProvider::InvalidConnection.
|
privatepure virtual |
this method must return the connection object corresponding to the object's configuration
connect | if True then the connection should be returned connected (and if possible a round-trip "ping" of the server should be made) |
rtopts | if the object acquisition requires any runtime options, then these are passed here |
Implemented in ConnectionProvider::HttpConnection, ConnectionProvider::FilesystemConnection, ConnectionProvider::FtpConnection, and ConnectionProvider::InvalidConnection.
hash<ConnectionInfo> ConnectionProvider::AbstractConnection::getInfo | ( | bool | with_password = False | ) |
returns a ConnectionInfo hash of information about the connection
with_password | determines if the password is returned or not |
creates a "safe" URL string with password information removed
urlh | a parsed hash (as returned from parseUrl() |
This base/default implementation expects the urlh
as returned by Qore::parse_url())
Public attribute safe_url
is created from the url
calling AbstractConnection::getSafeUrl(). Reimplement this method if your connection does not follow standard URL in form:
auto ConnectionProvider::AbstractConnection::getTagEx | ( | string | tag | ) |
returns the value of the given tag or throws an exception if the tag is not set with a value
TAG-ERROR | the given tag is not set on the connection |
ConnectionProvider::AbstractConnection::parseTextOptions | ( | ) |
this method is called when parsing connection file definitions from text files when loading into the database
reimplement this method in subclasses to parse the option hash as set from a text file if needed (for special option formats, etc)
Parse the URL to a hash.
url | a string with url |
The base implementation calls Qore::parse_url().
Reimplement parseUrl()
if your connection uses different URL schema. Like eg. Qore::Datasource connection string.
returns a hash with the results of the ping operation
throw_exception | throw an exception if a connection error occurs |
performs options validation in the constructor
options | a hash with options from the constructor |
This method can be overloaded in connections where are options created dynamically for example.