Qore ConnectionProvider Module Reference
1.3
|
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< auto > rtopts) |
returns the underlying connection object More... | |
hash< ConfigInfo > | getConfigHash () |
returns a ConfigInfo hash of static configuration information about the connection More... | |
AbstractDataProvider | getDataProvider () |
returns a data provider object for this connection, if supported More... | |
*hash< auto > | getDefaultOptions () |
returns default options | |
hash< ConnectionInfo > | getInfo (bool with_password=False) |
returns a ConnectionInfo hash of information about the connection More... | |
*hash< auto > | getOptions () |
returns static / initialization options | |
*hash< auto > | getRealOptions () |
returns options for saving the connection's configuration information | |
*hash< auto > | 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 | |
bool | hasDataProvider () |
returns True if the connection returns a data provider with the getDataProvider() method More... | |
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 | |
bool | debug_data = False |
debug data flag; to be used an an indication for a higher-level implementation | |
string | desc |
connection description | |
bool | enabled = True |
enabled/disabled indicator flag | |
hash< auto > | internal_info |
internal tags | |
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< auto > | opts |
connection options | |
*hash< auto > | 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< auto > | 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 connection object and the object created as arguments | |
Private Member Methods | |
abstract object | getImpl (bool connect=True, *hash< auto > 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
AbstractDataProvider ConnectionProvider::AbstractConnection::getDataProvider | ( | ) |
returns a data provider object for this connection, if supported
DATA-PROVIDER-ERROR | this object does not support the data provider API |
This base class method throws a DATA-PROVIDER-ERROR
exception by default; to support the data provider API, override this method in child classes
|
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 |
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 |
bool ConnectionProvider::AbstractConnection::hasDataProvider | ( | ) |
returns True if the connection returns a data provider with the getDataProvider() method
This base class method returns False; to support the data provider API, override this method in child classes
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.