Qore ConnectionProvider Module Reference 2.0
Loading...
Searching...
No Matches
ConnectionProvider::ConnectionSchemeCache Class Reference

Connection provider type cache class. More...

#include <ConnectionSchemeCache.qc.dox.h>

Static Public Member Methods

static bool empty ()
 Returns True if the cache is empty, False if not.
 
static hash< string, hash< ConnectionSchemeInfo > > get ()
 Returns the entire cache.
 
static *hash< auto > getDefaultOptionValues (hash< ConnectionSchemeInfo > scheme_info)
 Returns default option values for the given connection scheme. More...
 
static *hash< auto > getDefaultOptionValues (string scheme)
 Returns default option values for the given connection scheme. More...
 
static hash< string, hash< ConnectionSchemeInfo > > getLoadAll ()
 Loads all possible schemes and returns the entire cache.
 
static *hash< ConnectionSchemeInfogetScheme (string scheme)
 Returns info for the given connection scheme or NOTHING if not present. More...
 
static hash< ConnectionSchemeInfogetSchemeEx (string scheme)
 Returns info for the given connection scheme or throws an exception if not present. More...
 
static *hash< ConnectionSchemeInfogetSchemeImpl (string scheme, bool throw_exception, *code scheme_loader)
 Returns info for the given connection scheme; either throws an exception if not present or returns NOTHING. More...
 
static *list< string > listSchemes ()
 Returns a list of all cached schemes.
 
static bool registerScheme (string scheme, hash< ConnectionSchemeInfo > entry)
 Register a new connection provider in the cache. More...
 
static int size ()
 Returns the number of types in the cache.
 
static hash< auto > validateConnectionOptions (string conn_name, hash< ConnectionSchemeInfo > scheme_info, hash< auto > options, bool check_required=True)
 Checks and returns options. More...
 
static hash< auto > validateConnectionOptions (string conn_name, string scheme, hash< auto > options, bool check_required=True)
 Checks and returns options. More...
 

Public Attributes

const SchemeMap = ...
 Map of known connection schemes to modules.
 

Static Private Member Methods

static deregisterScheme (string scheme)
 Deregisters a scheme in case module intiialization fails for the module that registered it. More...
 
static Mutex lck ()
 Connection provider cache lock.
 
static bool tryLoadModule (string mod, bool throw_exception)
 Try to load the given module.
 

Static Private Attributes

static hash< string, hash< ConnectionSchemeInfo > > cache
 Connection provider cache.
 
static bool load_all
 Load all flag.
 

Detailed Description

Connection provider type cache class.

Member Function Documentation

◆ deregisterScheme()

static ConnectionProvider::ConnectionSchemeCache::deregisterScheme ( string  scheme)
staticprivate

Deregisters a scheme in case module intiialization fails for the module that registered it.

Parameters
schemethe scheme for the connection provider

◆ getDefaultOptionValues() [1/2]

static *hash< auto > ConnectionProvider::ConnectionSchemeCache::getDefaultOptionValues ( hash< ConnectionSchemeInfo scheme_info)
static

Returns default option values for the given connection scheme.

Parameters
scheme_infoThe connection scheme
Returns
A hash of default options
Since
ConnectionProvider 2.0

◆ getDefaultOptionValues() [2/2]

static *hash< auto > ConnectionProvider::ConnectionSchemeCache::getDefaultOptionValues ( string  scheme)
static

Returns default option values for the given connection scheme.

Parameters
schemeThe connection scheme name
Returns
A hash of default options
Exceptions
SCHEME-ERRORunknown / unsupported scheme
Since
ConnectionProvider 2.0

◆ getScheme()

static *hash< ConnectionSchemeInfo > ConnectionProvider::ConnectionSchemeCache::getScheme ( string  scheme)
static

Returns info for the given connection scheme or NOTHING if not present.

Parameters
schemethe scheme for the connection
Returns
info for the given connection scheme; NOTHING is returned if the scheme is not registered

◆ getSchemeEx()

static hash< ConnectionSchemeInfo > ConnectionProvider::ConnectionSchemeCache::getSchemeEx ( string  scheme)
static

Returns info for the given connection scheme or throws an exception if not present.

Parameters
schemethe scheme for the connection provider
Returns
info for the given connection scheme; an exception is thrown if the scheme is unknown
Exceptions
SCHEME-ERRORthe scheme is unknown

◆ getSchemeImpl()

static *hash< ConnectionSchemeInfo > ConnectionProvider::ConnectionSchemeCache::getSchemeImpl ( string  scheme,
bool  throw_exception,
*code  scheme_loader 
)
static

Returns info for the given connection scheme; either throws an exception if not present or returns NOTHING.

Parameters
schemethe scheme for the connection provider
throw_exceptionif True then an exception is thrown if the scheme cannot be resolved, otherwise NOTHING is returned
scheme_loadera closure taking a string scheme argument and returning *hash<ConnectionSchemeInfo>
Returns
info for the given connection scheme or NOTHING is returned if the scheme cannot be resolved and the throw_exception argument is False
Exceptions
SCHEME-ERRORthe scheme is unknown; only thrown if the throw_exception argument is True

◆ registerScheme()

static bool ConnectionProvider::ConnectionSchemeCache::registerScheme ( string  scheme,
hash< ConnectionSchemeInfo entry 
)
static

Register a new connection provider in the cache.

Parameters
schemethe scheme for the connection provider
entrythe new connection provider entry
Returns
True if the connection was reigstered, False if there is already a registered connection with this scheme

◆ validateConnectionOptions() [1/2]

static hash< auto > ConnectionProvider::ConnectionSchemeCache::validateConnectionOptions ( string  conn_name,
hash< ConnectionSchemeInfo scheme_info,
hash< auto >  options,
bool  check_required = True 
)
static

Checks and returns options.

Parameters
conn_nameThe connection name, for error reporting only
scheme_infoThe connection scheme
optionsThe options to validate
check_requiredCheck required options?
Returns
Options after validation
Exceptions
CONNECTION-OPTION-ERRORmissing or invalid connection option
Since
ConnectionProvider 2.0

◆ validateConnectionOptions() [2/2]

static hash< auto > ConnectionProvider::ConnectionSchemeCache::validateConnectionOptions ( string  conn_name,
string  scheme,
hash< auto >  options,
bool  check_required = True 
)
static

Checks and returns options.

Parameters
conn_nameThe connection name, for error reporting only
schemeThe connection scheme name
optionsThe options to validate
check_requiredCheck required options?
Returns
Options after validation
Exceptions
CONNECTION-OPTION-ERRORmissing or invalid connection option
Since
ConnectionProvider 2.0