Qore DataProvider Module Reference 2.7.5
Loading...
Searching...
No Matches
AbstractDataProviderFactory.qc.dox.h
1// -*- mode: c++; indent-tabs-mode: nil -*-
3
26namespace DataProvider {
32
34const DPSP_REST = "rest";
35
38const DPSP_SOAP = "soap";
40
42public hashdecl DataProviderFactoryInfo {
44 string name;
46 string desc;
48 bool api_management = False;
58
62 *softlist<string> api_profiles;
64 hash<DataProviderInfo> provider_info;
65};
66
69
70public:
71
72
74 AbstractDataProvider create(*hash<auto> options);
75
76
78 AbstractDataProvider createWithTemplate(*hash<auto> template_options, *hash<auto> options);
79
80
82 string getName();
83
84
86 Class getClass();
87
88
90
93 hash<DataProviderFactoryInfo> getInfo();
94
95
97
102 hash<auto> getInfoAsData(*bool with_type_info);
103
104
106
108 hash<DataProviderInfo> getProviderInfo();
109
110
112
125 AbstractDataProvider getProviderFromExample(data example, *hash<auto> constructor_options);
126
127
129
142 AbstractDataProvider getProviderFromExample(InputStream example, *hash<auto> constructor_options);
143
144
146
156 list<hash<auto>> getExampleProviderRecordOutput(data example, *hash<auto> constructor_options);
157
158
160
170 list<hash<auto>> getExampleProviderRecordOutput(InputStream example, *hash<auto> constructor_options);
171
172
174protected:
175 error(string err, string fmt);
176public:
177
178
180
196protected:
197 AbstractDataProvider getProviderFromExampleImpl(InputStream example, *hash<auto> constructor_options);
198public:
199
200
202
215protected:
216 list<hash<auto>> getExampleProviderRecordOutputImpl(InputStream example, *hash<auto> constructor_options);
217public:
218
219
221protected:
222 string getNameImpl();
223public:
224
225
227
229protected:
230 abstract hash<DataProviderFactoryInfo> getInfoImpl();
231public:
232
234protected:
235 abstract Class getClassImpl();
236public:
237
239
241protected:
242 abstract hash<DataProviderInfo> getProviderInfoImpl();
243public:
244};
245};
Data provider factory class.
Definition: AbstractDataProviderFactory.qc.dox.h:68
AbstractDataProvider createWithTemplate(*hash< auto > template_options, *hash< auto > options)
Creates an object from the given constructor options.
list< hash< auto > > getExampleProviderRecordOutputImpl(InputStream example, *hash< auto > constructor_options)
Returns information about a data provider constructor given the example data as an argument.
hash< auto > getInfoAsData(*bool with_type_info)
Returns static provider information as data; no objects are returned.
AbstractDataProvider getProviderFromExample(data example, *hash< auto > constructor_options)
Returns a data provider given the example data and constructor options as arguments.
abstract hash< DataProviderInfo > getProviderInfoImpl()
Returns static provider information.
AbstractDataProvider create(*hash< auto > options)
Creates an object from the given constructor options.
list< hash< auto > > getExampleProviderRecordOutput(InputStream example, *hash< auto > constructor_options)
Returns information about a data provider constructor given the example data as an argument.
string getNameImpl()
Returns the name of the data provider factory.
abstract Class getClassImpl()
Returns the class for the data provider object.
Class getClass()
Returns the class for the data provider object.
hash< DataProviderFactoryInfo > getInfo()
Returns static factory information.
abstract hash< DataProviderFactoryInfo > getInfoImpl()
Returns static factory information without provider_info.
string getName()
Returns the name of the data provider factory.
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< 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.
error(string err, string fmt)
thrown an exception
The AbstractDataProvider class.
Definition: AbstractDataProvider.qc.dox.h:742
const DPSP_SOAP
Definition: AbstractDataProviderFactory.qc.dox.h:38
const DPSP_REST
Definition: AbstractDataProviderFactory.qc.dox.h:34
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:27
Data provider factory info.
Definition: AbstractDataProviderFactory.qc.dox.h:42
bool children_can_support_observers
Can any child data providers support the observer pattern / event API?
Definition: AbstractDataProviderFactory.qc.dox.h:54
bool children_can_support_messages
Can any child data providers support messages?
Definition: AbstractDataProviderFactory.qc.dox.h:56
string name
The factory name.
Definition: AbstractDataProviderFactory.qc.dox.h:44
bool children_can_support_records
Can any child data providers offer record-based providers?
Definition: AbstractDataProviderFactory.qc.dox.h:52
*softlist< string > api_profiles
Which server profiles are supported for API management (if any)?
Definition: AbstractDataProviderFactory.qc.dox.h:62
hash< DataProviderInfo > provider_info
Info about providers created from this factory (without the name and children attributes)
Definition: AbstractDataProviderFactory.qc.dox.h:64
bool children_can_support_apis
Can any child data providers offer API services (request - response data providers)?
Definition: AbstractDataProviderFactory.qc.dox.h:50
bool children_can_support_transaction_management
Can any child data providers support transaction management?
Definition: AbstractDataProviderFactory.qc.dox.h:60
string desc
The factory description.
Definition: AbstractDataProviderFactory.qc.dox.h:46
bool api_management
Does this factory create a data provider suitable for server-side API management.
Definition: AbstractDataProviderFactory.qc.dox.h:48