Qore DataProvider Module Reference  2.1.2
AbstractDataProviderFactory.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
25 namespace DataProvider {
28 public struct DataProviderFactoryInfo {
30  string name;
32  string desc;
36  hash<DataProviderInfo> provider_info;
37 };
40 
41 public:
42 
43 
45  AbstractDataProvider create(*hash<auto> options);
46 
47 
49  string getName();
50 
51 
53  Class getClass();
54 
55 
57 
60  hash<DataProviderFactoryInfo> getInfo();
61 
62 
64 
69  hash<auto> getInfoAsData(*bool with_type_info);
70 
71 
73 
75  hash<DataProviderInfo> getProviderInfo();
76 
77 
79 
92  AbstractDataProvider getProviderFromExample(data example, *hash<auto> constructor_options);
93 
94 
96 
109  AbstractDataProvider getProviderFromExample(InputStream example, *hash<auto> constructor_options);
110 
111 
113 
123  list<hash<auto>> getExampleProviderRecordOutput(data example, *hash<auto> constructor_options);
124 
125 
127 
137  list<hash<auto>> getExampleProviderRecordOutput(InputStream example, *hash<auto> constructor_options);
138 
139 
141 protected:
142  error(string err, string fmt);
143 public:
144 
145 
147 
163 protected:
164  AbstractDataProvider getProviderFromExampleImpl(InputStream example, *hash<auto> constructor_options);
165 public:
166 
167 
169 
182 protected:
183  list<hash<auto>> getExampleProviderRecordOutputImpl(InputStream example, *hash<auto> constructor_options);
184 public:
185 
186 
188 protected:
189  string getNameImpl();
190 public:
191 
192 
194 
196 protected:
197  abstract hash<DataProviderFactoryInfo> getInfoImpl();
198 public:
199 
201 protected:
202  abstract Class getClassImpl();
203 public:
204 
206 
208 protected:
209  abstract hash<DataProviderInfo> getProviderInfoImpl();
210 public:
211 };
212 };
string name
The factory name.
Definition: AbstractDataProviderFactory.qc.dox.h:30
bool api_management
Does this factory create a data provider suitable for server-side API management. ...
Definition: AbstractDataProviderFactory.qc.dox.h:34
hash< DataProviderFactoryInfo > getInfo()
Returns static factory information.
The AbstractDataProvider class.
Definition: AbstractDataProvider.qc.dox.h:265
abstract Class getClassImpl()
Returns the class for the data provider object.
AbstractDataProvider getProviderFromExampleImpl(InputStream example, *hash< auto > constructor_options)
Returns a data provider given the example data and constructor options as arguments.
error(string err, string fmt)
thrown an exception
string desc
The factory description.
Definition: AbstractDataProviderFactory.qc.dox.h:32
const False
Data provider factory class.
Definition: AbstractDataProviderFactory.qc.dox.h:39
abstract hash< DataProviderFactoryInfo > getInfoImpl()
Returns static factory information without provider_info.
hash< DataProviderInfo > getProviderInfo()
Returns static provider information.
AbstractDataProvider getProviderFromExample(data example, *hash< auto > constructor_options)
Returns a data provider given the example data and constructor options as arguments.
hash< auto > getInfoAsData(*bool with_type_info)
Returns static provider information as data; no objects are returned.
string getName()
Returns the name of the data provider factory.
string getNameImpl()
Returns the name of the data provider factory.
AbstractDataProvider create(*hash< auto > options)
Creates an object from the given constructor options.
Class getClass()
Returns the class for the data provider object.
abstract hash< DataProviderInfo > getProviderInfoImpl()
Returns static provider information.
list< hash< auto > > getExampleProviderRecordOutput(data example, *hash< auto > constructor_options)
Returns information about a data provider constructor given the example data as an argument...
list< hash< auto > > getExampleProviderRecordOutputImpl(InputStream example, *hash< auto > constructor_options)
Returns information about a data provider constructor given the example data as an argument...
Data provider factory info.
Definition: AbstractDataProviderFactory.qc.dox.h:28
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:27
hash< DataProviderInfo > provider_info
Info about providers created from this factory (without the name and children attributes) ...
Definition: AbstractDataProviderFactory.qc.dox.h:36