| Qore DataProvider Module Reference 2.3

AbstractDataProviderFactory.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3
26 namespace DataProvider {
32
34 const DPSP_REST = "rest";
35
38 const DPSP_SOAP = "soap";
40
42 public struct DataProviderFactoryInfo {
44 string name;
46 string desc;
48 bool api_management = False;
50 bool children_can_support_apis = False;
52 *softlist<string> api_profiles;
54 hash<DataProviderInfo> provider_info;
55 };
56
58 class AbstractDataProviderFactory {
59
60 public:
61
62
64 AbstractDataProvider create(*hash<auto> options);
65
66
68 string getName();
69
70
72 Class getClass();
73
74
76
79 hash<DataProviderFactoryInfo> getInfo();
80
81
83
88 hash<auto> getInfoAsData(*bool with_type_info);
89
90
92
94 hash<DataProviderInfo> getProviderInfo();
95
96
98
111 AbstractDataProvider getProviderFromExample(data example, *hash<auto> constructor_options);
112
113
115
128 AbstractDataProvider getProviderFromExample(InputStream example, *hash<auto> constructor_options);
129
130
132
142 list<hash<auto>> getExampleProviderRecordOutput(data example, *hash<auto> constructor_options);
143
144
146
156 list<hash<auto>> getExampleProviderRecordOutput(InputStream example, *hash<auto> constructor_options);
157
158
160 protected:
161 error(string err, string fmt);
162 public:
163
164
166
182 protected:
183 AbstractDataProvider getProviderFromExampleImpl(InputStream example, *hash<auto> constructor_options);
184 public:
185
186
188
201 protected:
202 list<hash<auto>> getExampleProviderRecordOutputImpl(InputStream example, *hash<auto> constructor_options);
203 public:
204
205
207 protected:
208 string getNameImpl();
209 public:
210
211
213
215 protected:
216 abstract hash<DataProviderFactoryInfo> getInfoImpl();
217 public:
218
220 protected:
221 abstract Class getClassImpl();
222 public:
223
225
227 protected:
228 abstract hash<DataProviderInfo> getProviderInfoImpl();
229 public:
230 };
231 };
DataProvider::AbstractDataProviderFactory
Data provider factory class.
Definition: AbstractDataProviderFactory.qc.dox.h:58
DataProvider::AbstractDataProviderFactory::getExampleProviderRecordOutput
list< hash< auto > > getExampleProviderRecordOutput(data example, *hash< auto > constructor_options)
Returns information about a data provider constructor given the example data as an argument.
DataProvider::AbstractDataProviderFactory::getInfo
hash< DataProviderFactoryInfo > getInfo()
Returns static factory information.
DataProvider::AbstractDataProviderFactory::getExampleProviderRecordOutput
list< hash< auto > > getExampleProviderRecordOutput(InputStream example, *hash< auto > constructor_options)
Returns information about a data provider constructor given the example data as an argument.
DataProvider::AbstractDataProviderFactory::getProviderFromExample
AbstractDataProvider getProviderFromExample(data example, *hash< auto > constructor_options)
Returns a data provider given the example data and constructor options as arguments.
DataProvider::AbstractDataProviderFactory::create
AbstractDataProvider create(*hash< auto > options)
Creates an object from the given constructor options.
DataProvider::AbstractDataProviderFactory::getNameImpl
string getNameImpl()
Returns the name of the data provider factory.
DataProvider::AbstractDataProviderFactory::getClassImpl
abstract Class getClassImpl()
Returns the class for the data provider object.
DataProvider::AbstractDataProviderFactory::getProviderInfoImpl
abstract hash< DataProviderInfo > getProviderInfoImpl()
Returns static provider information.
DataProvider::AbstractDataProviderFactory::getClass
Class getClass()
Returns the class for the data provider object.
DataProvider::AbstractDataProviderFactory::getName
string getName()
Returns the name of the data provider factory.
DataProvider::AbstractDataProviderFactory::getInfoImpl
abstract hash< DataProviderFactoryInfo > getInfoImpl()
Returns static factory information without provider_info.
DataProvider::AbstractDataProviderFactory::getProviderInfo
hash< DataProviderInfo > getProviderInfo()
Returns static provider information.
DataProvider::AbstractDataProviderFactory::getProviderFromExampleImpl
AbstractDataProvider getProviderFromExampleImpl(InputStream example, *hash< auto > constructor_options)
Returns a data provider given the example data and constructor options as arguments.
DataProvider::AbstractDataProviderFactory::getProviderFromExample
AbstractDataProvider getProviderFromExample(InputStream example, *hash< auto > constructor_options)
Returns a data provider given the example data and constructor options as arguments.
DataProvider::AbstractDataProviderFactory::getExampleProviderRecordOutputImpl
list< hash< auto > > getExampleProviderRecordOutputImpl(InputStream example, *hash< auto > constructor_options)
Returns information about a data provider constructor given the example data as an argument.
DataProvider::AbstractDataProviderFactory::error
error(string err, string fmt)
thrown an exception
DataProvider::AbstractDataProviderFactory::getInfoAsData
hash< auto > getInfoAsData(*bool with_type_info)
Returns static provider information as data; no objects are returned.
DataProvider::AbstractDataProvider
The AbstractDataProvider class.
Definition: AbstractDataProvider.qc.dox.h:476
False
const False
DataProvider
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:27
DataProvider::DPSP_SOAP
const DPSP_SOAP
Definition: AbstractDataProviderFactory.qc.dox.h:38
DataProvider::DPSP_REST
const DPSP_REST
Data provider HTTP server profile.
Definition: AbstractDataProviderFactory.qc.dox.h:34
DataProvider::DataProviderFactoryInfo
Data provider factory info.
Definition: AbstractDataProviderFactory.qc.dox.h:42
DataProvider::DataProviderFactoryInfo::name
string name
The factory name.
Definition: AbstractDataProviderFactory.qc.dox.h:44
DataProvider::DataProviderFactoryInfo::api_profiles
*softlist< string > api_profiles
Which server profiles are supported for API management (if any)?
Definition: AbstractDataProviderFactory.qc.dox.h:52
DataProvider::DataProviderFactoryInfo::provider_info
hash< DataProviderInfo > provider_info
Info about providers created from this factory (without the name and children attributes)
Definition: AbstractDataProviderFactory.qc.dox.h:54
DataProvider::DataProviderFactoryInfo::children_can_support_apis
bool children_can_support_apis
Can any child data providers offer API services (request - response data providers)?
Definition: AbstractDataProviderFactory.qc.dox.h:50
DataProvider::DataProviderFactoryInfo::desc
string desc
The factory description.
Definition: AbstractDataProviderFactory.qc.dox.h:46
DataProvider::DataProviderFactoryInfo::api_management
bool api_management
Does this factory create a data provider suitable for server-side API management.
Definition: AbstractDataProviderFactory.qc.dox.h:48