Qore DataProvider Module Reference 3.1
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.
error(string err, string fmt,...)
thrown an exception
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.
The AbstractDataProvider class.
Definition AbstractDataProvider.qc.dox.h:917
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