Qore DataProvider Module Reference  2.1.1
AbstractDataProviderFactory.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
26 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 };
Data provider factory class.
Definition: AbstractDataProviderFactory.qc.dox.h:39
list< hash< auto > > getExampleProviderRecordOutput(data example, *hash< auto > constructor_options)
Returns information about a data provider constructor given the example data as an argument.
hash< DataProviderFactoryInfo > getInfo()
Returns static factory information.
list< hash< auto > > getExampleProviderRecordOutput(InputStream example, *hash< auto > constructor_options)
Returns information about a data provider constructor given the example data as an argument.
AbstractDataProvider getProviderFromExample(data example, *hash< auto > constructor_options)
Returns a data provider given the example data and constructor options as arguments.
AbstractDataProvider create(*hash< auto > options)
Creates an object from the given constructor options.
string getNameImpl()
Returns the name of the data provider factory.
abstract Class getClassImpl()
Returns the class for the data provider object.
abstract hash< DataProviderInfo > getProviderInfoImpl()
Returns static provider information.
Class getClass()
Returns the class for the data provider object.
string getName()
Returns the name of the data provider factory.
abstract hash< DataProviderFactoryInfo > getInfoImpl()
Returns static factory information without provider_info.
hash< DataProviderInfo > getProviderInfo()
Returns static provider information.
AbstractDataProvider getProviderFromExampleImpl(InputStream example, *hash< auto > constructor_options)
Returns a data provider given the example data and constructor options as arguments.
AbstractDataProvider getProviderFromExample(InputStream example, *hash< auto > constructor_options)
Returns a data provider given the example data and constructor options as arguments.
list< hash< auto > > getExampleProviderRecordOutputImpl(InputStream example, *hash< auto > constructor_options)
Returns information about a data provider constructor given the example data as an argument.
error(string err, string fmt)
thrown an exception
hash< auto > getInfoAsData(*bool with_type_info)
Returns static provider information as data; no objects are returned.
The AbstractDataProvider class.
Definition: AbstractDataProvider.qc.dox.h:260
const False
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:27
Data provider factory info.
Definition: AbstractDataProviderFactory.qc.dox.h:28
string name
The factory name.
Definition: AbstractDataProviderFactory.qc.dox.h:30
hash< DataProviderInfo > provider_info
Info about providers created from this factory (without the name and children attributes)
Definition: AbstractDataProviderFactory.qc.dox.h:36
string desc
The factory description.
Definition: AbstractDataProviderFactory.qc.dox.h:32
bool api_management
Does this factory create a data provider suitable for server-side API management.
Definition: AbstractDataProviderFactory.qc.dox.h:34