Qore DataProvider Module Reference  1.2.1
DataProviderTypeCache.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
27 namespace DataProvider {
29 class DataProviderTypeCache : public Serializable {
30 
31 public:
32 protected:
35 
37  transient RWLock rwlock();
38 
40  int size = 0;
41 
42 public:
43 
45 
54  registerType(string path, AbstractDataProviderType type, bool locked = False);
55 
56 
58 
69 
70 
72 
79 
80 
82  int size();
83 
84 
86  bool empty();
87 
88 
91 
92 
94  clear();
95 
96 
98 
102  *list<string> listTypes();
103 
104 
107 
108 
110 
118 
119 
121 
131 
132 
134 
142  *hash<DataProviderTypeEntryInfo> getTypeInfo(string path, *bool rec_children_only);
143 
144 
146 
156  hash<DataProviderTypeEntryInfo> getTypeInfoEx(string path, *bool rec_children_only);
157 
158 
160 
175  *AbstractDataProviderType getTypeImpl(string path, bool throw_exception, *code type_loader);
176 
177 
179 
193  *hash<DataProviderTypeEntryInfo> getTypeInfoImpl(string path, bool throw_exception, *bool rec_children_only);
194 
195 
197  RWLock getLock();
198 
199 
201 
216 protected:
217  static *AbstractDataProviderType getTypeFromFields(string path, AbstractDataProviderType type, list<string> type_path, bool throw_exception);
218 public:
219 
220 };
221 };
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:88
Data provider type cache class.
Definition: DataProviderTypeCache.qc.dox.h:29
DataProviderTypeEntry getRoot()
Returns the root type entry.
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...
int size
The size of the cache.
Definition: DataProviderTypeCache.qc.dox.h:40
clear()
Clears the type hierarchy of all non-locked types.
*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.
RWLock getLock()
Returns the RWLock to allow for external serialization.
int size()
Returns the number of types in the cache.
DataProviderTypeEntry root()
Data provider data type cache.
registerType(string path, AbstractDataProviderType type, bool locked=False)
Register a new data provider type in the cache.
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 removeType(string path)
Removes a type from the type cache.
*list< string > listTypes()
Returns a list of registered data provider type paths.
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.
bool registerOrReplaceType(string path, AbstractDataProviderType type)
Register or replaces a data provider type in the cache.
the DataProviderTypeEntry class
Definition: DataProviderTypeEntry.qc.dox.h:55
const False
string type(auto arg)
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:27