Data provider type cache class.
More...
#include <DataProviderTypeCache.qc.dox.h>
|
| clear () |
| Clears the type hierarchy of all non-locked types.
|
|
bool | empty () |
| Returns True if the cache is empty, False if not.
|
|
RWLock | getLock () |
| Returns the RWLock to allow for external serialization.
|
|
DataProviderTypeEntry | getRoot () |
| Returns the root type entry.
|
|
*AbstractDataProviderType | getType (string path) |
| Returns the given data provider type or NOTHING if not present.
|
|
AbstractDataProviderType | getTypeEx (string path) |
| Returns the given data provider type or throws an exception if not present.
|
|
*AbstractDataProviderType | getTypeImpl (string path, bool throw_exception, *code type_loader) |
| Returns the given data provider type and either throws an exception if not present or returns NOTHING.
|
|
*hash< DataProviderTypeEntryInfo > | getTypeInfo (string path, *bool rec_children_only) |
| Returns the given data provider type or NOTHING if not present.
|
|
hash< DataProviderTypeEntryInfo > | getTypeInfoEx (string path, *bool rec_children_only) |
| Returns the given data provider type or throws an exception if not present.
|
|
*hash< DataProviderTypeEntryInfo > | getTypeInfoImpl (string path, bool throw_exception, *bool rec_children_only) |
| Returns information for the given data provider type and either throws an exception if not present or returns NOTHING.
|
|
*list< string > | listParentTypes () |
| Returns a list of registered data provider type paths where the types are "parent" types.
|
|
*list< string > | listTypes () |
| Returns a list of registered data provider type paths.
|
|
| lockAll () |
| Locks all types.
|
|
bool | registerOrReplaceType (string path, AbstractDataProviderType type) |
| Register or replaces a data provider type in the cache.
|
|
| registerType (string path, AbstractDataProviderType type, bool locked=False) |
| Register a new data provider type in the cache.
|
|
*AbstractDataProviderType | removeType (string path) |
| Removes a type from the type cache.
|
|
int | size () |
| Returns the number of types in the cache.
|
|
|
DataProviderTypeEntry | root () |
| Data provider data type cache.
|
|
transient RWLock | rwlock () |
| Data provider type cache lock.
|
|
|
int | size = 0 |
| The size of the cache.
|
|
Data provider type cache class.
◆ getType()
Returns the given data provider type or NOTHING if not present.
- Parameters
-
path | a "/" separated path for the type; trailing path elements can be a path into fields |
- Returns
- the given data provider type; NOTHING is returned if the type cannot be resolved
- Note
- types are stored based on the path provided which may differ from their type names (which may be generic and therefore not suitable for indexing)
◆ getTypeEx()
Returns the given data provider type or throws an exception if not present.
- Parameters
-
path | a "/" separated path for the type; trailing path elements can be a path into fields |
- Returns
- the given data provider type; an exception is thrown if the data provider is unknown
- Exceptions
-
PROVIDER-ERROR | the given data provider type path is unknown |
- Note
- types are stored based on the path provided which may differ from their type names (which may be generic and therefore not suitable for indexing)
◆ getTypeFromFields()
Returns the given data provider type and either throws an exception if not present or returns NOTHING.
- Parameters
-
path | a "/" separated path for the type |
type | the base type for the search |
type_path | the path in the type for fields leading to the final return type |
throw_exception | if True then an exception is thrown if the path cannot be resolved, otherwise NOTHING is returned |
- Returns
- the given data provider type or NOTHING is returned if the path cannot be resolved and the throw_exception argument is False
- Exceptions
-
PROVIDER-ERROR | the given data provider type path is unknown; only thrown if the throw_exception argument is True |
- Note
- types are stored based on the path provided which may differ from their type names (which may be generic and therefore not suitable for indexing)
◆ getTypeImpl()
*AbstractDataProviderType DataProvider::DataProviderTypeCache::getTypeImpl |
( |
string |
path, |
|
|
bool |
throw_exception, |
|
|
*code |
type_loader |
|
) |
| |
Returns the given data provider type and either throws an exception if not present or returns NOTHING.
- Parameters
-
path | a "/" separated path for the type |
throw_exception | if True then an exception is thrown if the path cannot be resolved, otherwise NOTHING is returned |
type_loader | a closure taking a list of strings giving the full path to the type and returning *AbstractDataProviderType |
- Returns
- the given data provider type or NOTHING is returned if the path cannot be resolved and the throw_exception argument is False
- Exceptions
-
PROVIDER-ERROR | the given data provider type path is unknown; only thrown if the throw_exception argument is True |
- Note
- types are stored based on the path provided which may differ from their type names (which may be generic and therefore not suitable for indexing)
◆ getTypeInfo()
Returns the given data provider type or NOTHING if not present.
- Parameters
-
path | a "/" separated path for the type; trailing path elements can be a path into fields |
rec_children_only | if True, then only children with fields are returned |
- Returns
- the given data provider type; NOTHING is returned if the type cannot be resolved
- Note
- types are stored based on the path provided which may differ from their type names (which may be generic and therefore not suitable for indexing)
◆ getTypeInfoEx()
hash< DataProviderTypeEntryInfo > DataProvider::DataProviderTypeCache::getTypeInfoEx |
( |
string |
path, |
|
|
*bool |
rec_children_only |
|
) |
| |
Returns the given data provider type or throws an exception if not present.
- Parameters
-
path | a "/" separated path for the type; trailing path elements can be a path into fields |
rec_children_only | if True, then only children with fields are returned |
- Returns
- the given data provider type; an exception is thrown if the data provider is unknown
- Exceptions
-
PROVIDER-ERROR | the given data provider type path is unknown |
- Note
- types are stored based on the path provided which may differ from their type names (which may be generic and therefore not suitable for indexing)
◆ getTypeInfoImpl()
*hash< DataProviderTypeEntryInfo > DataProvider::DataProviderTypeCache::getTypeInfoImpl |
( |
string |
path, |
|
|
bool |
throw_exception, |
|
|
*bool |
rec_children_only |
|
) |
| |
Returns information for the given data provider type and either throws an exception if not present or returns NOTHING.
- Parameters
-
path | a "/" separated path for the type |
throw_exception | if True then an exception is thrown if the path cannot be resolved, otherwise NOTHING is returned |
rec_children_only | if True, then only children with fields are returned |
- Returns
- information for the given data provider type or NOTHING is returned if the path cannot be resolved and the throw_exception argument is False
- Exceptions
-
PROVIDER-ERROR | the given data provider type path is unknown; only thrown if the throw_exception argument is True |
- Note
- types are stored based on the path provided which may differ from their type names (which may be generic and therefore not suitable for indexing)
◆ listParentTypes()
*list< string > DataProvider::DataProviderTypeCache::listParentTypes |
( |
| ) |
|
Returns a list of registered data provider type paths where the types are "parent" types.
"Parent" types are types where children were added with the parent
- Note
- types are stored based on the path provided which may differ from their type names (which may be generic and therefore not suitable for indexing)
◆ listTypes()
*list< string > DataProvider::DataProviderTypeCache::listTypes |
( |
| ) |
|
Returns a list of registered data provider type paths.
- Note
- types are stored based on the path provided which may differ from their type names (which may be generic and therefore not suitable for indexing)
◆ registerOrReplaceType()
Register or replaces a data provider type in the cache.
- Parameters
-
path | a "/" separated path for the type; this is the lookup index |
type | the new data provider type |
- Returns
- True if the type was replaced or added
- Exceptions
-
TYPE-LOCK-ERROR | type entry cannot be replaced, because it is locked |
- Note
- types are stored based on the path provided which may differ from their type names (which may be generic and therefore not suitable for indexing)
◆ registerType()
Register a new data provider type in the cache.
- Parameters
-
path | a "/" separated path for the type; this is the lookup index |
type | the new data provider type |
locked | if the data type should be locked, prohibiting updates and deletions |
- Exceptions
-
PROVIDER-ERROR | the given provider has already been registered |
- Note
- types are stored based on the path provided which may differ from their type names (which may be generic and therefore not suitable for indexing)
◆ removeType()
Removes a type from the type cache.
- Parameters
-
path | a "/" separated path for the type; this is the lookup index |
- Returns
- the type removed or NOTHING if the type was not present
- Exceptions
-
TYPE-LOCK-ERROR | the given type cannot be removed, because it is locked |