Qore DataProvider Module Reference 3.1
Loading...
Searching...
No Matches
DataProviderTypeCache.qc.dox.h
1// -*- mode: c++; indent-tabs-mode: nil -*-
3
27namespace DataProvider {
30
31public:
32protected:
35
37 transient RWLock rwlock();
38
40 hash<string, DataProviderTypeEntry> tmap;
41
43 hash<string, DataProviderTypeEntry> trmap;
44
46 int size = 0;
47
48public:
49
51
62 registerType(string path, AbstractDataProviderType type, bool locked = False, *bool set_rollback);
63
64
66
78 bool registerOrReplaceType(string path, AbstractDataProviderType type, *int id);
79
80
82
89
90
92
99
100
102
109
110
112
121
122
124
133
134
136
143
144
146
153
154
156
165
166
168
177
178
180 int size();
181
182
184 bool empty();
185
186
189
190
193
194
196
204 *list<hash<DataProviderTypeEntryInfo>> listRegisteredTypeEntries();
205
206
208
217 *list<string> listRegisteredTypes();
218
219
221
231 *list<string> listTypes();
232
233
235
240 *list<string> listParentTypes();
241
242
245
246
248
256
257
259
269
270
272
280 *hash<DataProviderTypeEntryInfo> getTypeInfo(string path, *bool rec_children_only);
281
282
284
294 hash<DataProviderTypeEntryInfo> getTypeInfoEx(string path, *bool rec_children_only);
295
296
298
313 *AbstractDataProviderType getTypeImpl(string path, bool throw_exception, *code type_loader);
314
315
317
331 *hash<DataProviderTypeEntryInfo> getTypeInfoImpl(string path, bool throw_exception, *bool rec_children_only);
332
333
335 RWLock getLock();
336
337
339
354protected:
355 static *AbstractDataProviderType getTypeFromFields(string path, AbstractDataProviderType type, list<string> type_path, bool throw_exception);
356public:
357
358
360
362protected:
363 deregisterType(string path);
364public:
365
366};
367};
describes a data type
Definition AbstractDataProviderType.qc.dox.h:139
Data provider type cache class.
Definition DataProviderTypeCache.qc.dox.h:29
DataProviderTypeEntry getRoot()
Returns the root type entry.
bool registerOrReplaceType(string path, AbstractDataProviderType type, *int id)
Register or replaces a data provider type in the cache.
hash< DataProviderTypeEntryInfo > getTypeInfoEx(string path, *bool rec_children_only)
Returns the given data provider type or throws an exception if not present.
*DataProviderTypeEntry lookupTypeEntryFromId(int id)
Returns a type from its epheremal ID.
*AbstractDataProviderType lookupTypeFromPath(string path)
Returns a type from its path.
int size
The size of the cache.
Definition DataProviderTypeCache.qc.dox.h:46
clear()
Clears the type hierarchy of all non-locked types.
*list< string > listTypes()
Returns a list of registered data provider type paths.
hash< string, DataProviderTypeEntry > trmap
Map of path names to types.
Definition DataProviderTypeCache.qc.dox.h:43
*list< string > listParentTypes()
Returns a list of registered data provider type paths where the types are "parent" types.
registerType(string path, AbstractDataProviderType type, bool locked=False, *bool set_rollback)
Register a new data provider type in the cache.
AbstractDataProviderType lookupTypeFromIdEx(int id)
Returns a type from its epheremal ID; throws an exception if the ID is unknown.
*AbstractDataProviderType getType(string path)
Returns the given data provider type or NOTHING if not present.
transient RWLock rwlock()
Data provider type cache lock.
bool empty()
Returns True if the cache is empty, False if not.
*hash< DataProviderTypeEntryInfo > getTypeInfo(string path, *bool rec_children_only)
Returns the given data provider type or NOTHING if not present.
*list< hash< DataProviderTypeEntryInfo > > listRegisteredTypeEntries()
Returns a list of information for all registered data provider type entries.
RWLock getLock()
Returns the RWLock to allow for external serialization.
*DataProviderTypeEntry lookupTypeEntryFromPath(string path)
Returns a type from its path.
DataProviderTypeEntry lookupTypeEntryFromIdEx(int id)
Returns a type from its epheremal ID; throws an exception if the ID is unknown.
int size()
Returns the number of types in the cache.
deregisterType(string path)
Deregisters the type at the given path.
DataProviderTypeEntry lookupTypeEntryFromPathEx(string path)
Returns a type from its path; throws an exception if the path is unknown.
DataProviderTypeEntry root()
Data provider data type cache.
*list< string > listRegisteredTypes()
Returns a list of registered data provider type paths.
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...
*AbstractDataProviderType lookupTypeFromId(int id)
Returns a type from its epheremal ID.
hash< string, DataProviderTypeEntry > tmap
Map of epheremal type IDs to types.
Definition DataProviderTypeCache.qc.dox.h:40
*AbstractDataProviderType removeType(string path)
Removes a type from the type cache.
*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...
AbstractDataProviderType getTypeEx(string path)
Returns the given data provider type or throws an exception if not present.
AbstractDataProviderType lookupTypeFromPathEx(string path)
Returns a type from its path; throws an exception if the path is unknown.
*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...
the DataProviderTypeEntry class
Definition DataProviderTypeEntry.qc.dox.h:67
Qore AbstractDataField class definition.
Definition AbstractDataField.qc.dox.h:27