Qore ConnectionProvider Module Reference
1.5
|
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... | |
hash< ConnectionSchemeInfo > | getConnectionSchemeInfo () |
Returns a default ConnectionSchemeInfo hash. | |
AbstractDataProvider | getDataProvider () |
returns a data provider object for this connection, if supported More... | |
*hash< auto > | getDefaultOptions () |
returns default options | |
hash< auto > | getExtendedInfo (*hash< auto > opts) |
Returns connection info plus any extended information returned by the connection. More... | |
hash< ConnectionInfo > | getInfo (*hash< auto > opts) |
returns a ConnectionInfo hash of information about the connection More... | |
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... | |
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 | |
hash< auto > | validateOptions (hash< auto > options) |
performs options validation in the constructor More... | |
Private:Internal Member Methods | |
constructorInit (string name, string description, string url, hash< auto > attributes, hash< auto > options) | |
Common construtor implementation. More... | |
abstract base class for connections
this class can be specialized to provide for user-defined connection types
|
inline |
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 |
enabled
(bool), default True
monitor
(bool), default True
locked
(bool), default False
tags
(hash), no default valueCONNECTION-OPTION-ERROR | missing or invalid connection option |
|
private:internal |
Common construtor implementation.
CONNECTION-OPTION-ERROR | missing or invalid connection option |
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
Returns connection info plus any extended information returned by the connection.
The default implementation in the base class returns the same value as getInfo(*hash<auto>)
|
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.
hash<ConnectionInfo> ConnectionProvider::AbstractConnection::getInfo | ( | *hash< auto > | opts | ) |
returns a ConnectionInfo hash of information about the connection
opts | connection information options; options are connection-specific; the only universal option is with_passwords: if True, then passwords are returned in the info hash |
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 scheme. 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
CONNECTION-OPTION-ERROR | missing or invalid connection option |