Qore DataProvider Module Reference  1.0.2
DataProviderTypeCache.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
25 // minimum required Qore version
26 // assume local scope for variables, do not use "$" signs
27 // require type definitions everywhere
29 // enable all warnings
30 
31 
33 namespace DataProvider {
35 class DataProviderTypeCache : public Serializable {
36 
37 public:
38 protected:
41 
43  transient RWLock rwlock();
44 
46  int size = 0;
47 
48 public:
49 
51 
60  registerType(string path, AbstractDataProviderType type, bool locked = False);
61 
62 
64 
75 
76 
78 
85 
86 
88  int size();
89 
90 
92  bool empty();
93 
94 
97 
98 
100  clear();
101 
102 
104 
108  *list<string> listTypes();
109 
110 
112  lockAll();
113 
114 
116 
123  *AbstractDataProviderType getType(string path);
124 
125 
127 
136  AbstractDataProviderType getTypeEx(string path);
137 
138 
140 
147  *hash<DataProviderTypeEntryInfo> getTypeInfo(string path);
148 
149 
151 
160  hash<DataProviderTypeEntryInfo> getTypeInfoEx(string path);
161 
162 
164 
179  *AbstractDataProviderType getTypeImpl(string path, bool throw_exception, *code type_loader);
180 
181 
183 
196  *hash<DataProviderTypeEntryInfo> getTypeInfoImpl(string path, bool throw_exception);
197 
198 
200  RWLock getLock();
201 
202 
204 
219 protected:
220  static *AbstractDataProviderType getTypeFromFields(string path, AbstractDataProviderType type, list<string> type_path, bool throw_exception);
221 public:
222 
223 };
224 };
DataProvider::DataProviderTypeCache::removeType
*AbstractDataProviderType removeType(string path)
Removes a type from the type cache.
DataProvider::AbstractDataProviderType
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:161
DataProvider::DataProviderTypeCache::getRoot
DataProviderTypeEntry getRoot()
Returns the root type entry.
type
string type(auto arg)
DataProvider::DataProviderTypeCache::getType
*AbstractDataProviderType getType(string path)
Returns the given data provider type or NOTHING if not present.
DataProvider::DataProviderTypeCache::getTypeInfoImpl
*hash< DataProviderTypeEntryInfo > getTypeInfoImpl(string path, bool throw_exception)
Returns information for the given data provider type and either throws an exception if not present or...
DataProvider::DataProviderTypeCache::getTypeInfoEx
hash< DataProviderTypeEntryInfo > getTypeInfoEx(string path)
Returns the given data provider type or throws an exception if not present.
DataProvider::DataProviderTypeCache::size
int size
The size of the cache.
Definition: DataProviderTypeCache.qc.dox.h:46
DataProvider::DataProviderTypeCache::empty
bool empty()
Returns True if the cache is empty, False if not.
DataProvider::DataProviderTypeCache::registerOrReplaceType
bool registerOrReplaceType(string path, AbstractDataProviderType type)
Register or replaces a data provider type in the cache.
DataProvider
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:32
DataProvider::DataProviderTypeCache::getTypeImpl
*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...
DataProvider::DataProviderTypeCache::lockAll
lockAll()
Locks all types.
DataProvider::DataProviderTypeCache::registerType
registerType(string path, AbstractDataProviderType type, bool locked=False)
Register a new data provider type in the cache.
DataProvider::DataProviderTypeCache::listTypes
*list< string > listTypes()
Returns a list of registered data provider type paths.
DataProvider::DataProviderTypeCache::clear
clear()
Clears the type hierarchy of all non-locked types.
DataProvider::DataProviderTypeEntry
the DataProviderTypeEntry class
Definition: DataProviderTypeEntry.qc.dox.h:55
DataProvider::DataProviderTypeCache::rwlock
transient RWLock rwlock()
Data provider type cache lock.
DataProvider::DataProviderTypeCache
Data provider type cache class.
Definition: DataProviderTypeCache.qc.dox.h:35
DataProvider::DataProviderTypeCache::getLock
RWLock getLock()
Returns the RWLock to allow for external serialization.
False
const False
DataProvider::DataProviderTypeCache::getTypeEx
AbstractDataProviderType getTypeEx(string path)
Returns the given data provider type or throws an exception if not present.
DataProvider::DataProviderTypeCache::root
DataProviderTypeEntry root()
Data provider data type cache.
DataProvider::DataProviderTypeCache::getTypeFromFields
static *AbstractDataProviderType getTypeFromFields(string path, AbstractDataProviderType type, list< string > type_path, bool throw_exception)
Returns the given data provider type and either throws an exception if not present or returns NOTHING...
DataProvider::DataProviderTypeCache::getTypeInfo
*hash< DataProviderTypeEntryInfo > getTypeInfo(string path)
Returns the given data provider type or NOTHING if not present.