Loading...
Searching...
No Matches
AbstractDataProviderFactory.qc.dox.h
// -*- mode: c++; indent-tabs-mode: nil -*-
namespace DataProvider {
const DPSP_REST = "rest";
const DPSP_SOAP = "soap";
public struct DataProviderFactoryInfo {
string name;
string desc;
bool api_management = False;
bool children_can_support_apis = False;
bool children_can_support_records = False;
bool children_can_support_observers = False;
bool children_can_support_messages = False;
bool children_can_support_transaction_management = False;
*softlist<string> api_profiles;
hash<DataProviderInfo> provider_info;
};
class AbstractDataProviderFactory {
public:
AbstractDataProvider create(*hash<auto> options);
AbstractDataProvider createWithTemplate(*hash<auto> template_options, *hash<auto> options);
string getName();
Class getClass();
hash<DataProviderFactoryInfo> getInfo();
hash<auto> getInfoAsData(*bool with_type_info);
hash<DataProviderInfo> getProviderInfo();
AbstractDataProvider getProviderFromExample(data example, *hash<auto> constructor_options);
AbstractDataProvider getProviderFromExample(InputStream example, *hash<auto> constructor_options);
list<hash<auto>> getExampleProviderRecordOutput(data example, *hash<auto> constructor_options);
list<hash<auto>> getExampleProviderRecordOutput(InputStream example, *hash<auto> constructor_options);
protected:
error(string err, string fmt);
public:
protected:
AbstractDataProvider getProviderFromExampleImpl(InputStream example, *hash<auto> constructor_options);
public:
protected:
list<hash<auto>> getExampleProviderRecordOutputImpl(InputStream example, *hash<auto> constructor_options);
public:
protected:
string getNameImpl();
public:
protected:
abstract hash<DataProviderFactoryInfo> getInfoImpl();
public:
protected:
abstract Class getClassImpl();
public:
protected:
abstract hash<DataProviderInfo> getProviderInfoImpl();
public:
};
};
DataProvider::AbstractDataProviderFactory
Data provider factory class.
Definition: AbstractDataProviderFactory.qc.dox.h:68
DataProvider::AbstractDataProviderFactory::createWithTemplate
AbstractDataProvider createWithTemplate(*hash< auto > template_options, *hash< auto > options)
Creates an object from the given constructor options.
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::getInfoAsData
hash< auto > getInfoAsData(*bool with_type_info)
Returns static provider information as data; no objects are returned.
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::getProviderInfoImpl
abstract hash< DataProviderInfo > getProviderInfoImpl()
Returns static provider information.
DataProvider::AbstractDataProviderFactory::create
AbstractDataProvider create(*hash< auto > options)
Creates an object from the given constructor options.
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::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::getClass
Class getClass()
Returns the class for the data provider object.
DataProvider::AbstractDataProviderFactory::getInfo
hash< DataProviderFactoryInfo > getInfo()
Returns static factory information.
DataProvider::AbstractDataProviderFactory::getInfoImpl
abstract hash< DataProviderFactoryInfo > getInfoImpl()
Returns static factory information without provider_info.
DataProvider::AbstractDataProviderFactory::getName
string getName()
Returns the name of the data provider factory.
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::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::error
error(string err, string fmt)
thrown an exception
DataProvider::AbstractDataProvider
The AbstractDataProvider class.
Definition: AbstractDataProvider.qc.dox.h:742
DataProvider::DPSP_SOAP
const DPSP_SOAP
Definition: AbstractDataProviderFactory.qc.dox.h:38
DataProvider::DPSP_REST
const DPSP_REST
Definition: AbstractDataProviderFactory.qc.dox.h:34
DataProvider
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:27
DataProvider::DataProviderFactoryInfo
Data provider factory info.
Definition: AbstractDataProviderFactory.qc.dox.h:42
DataProvider::DataProviderFactoryInfo::children_can_support_observers
bool children_can_support_observers
Can any child data providers support the observer pattern / event API?
Definition: AbstractDataProviderFactory.qc.dox.h:54
DataProvider::DataProviderFactoryInfo::children_can_support_messages
bool children_can_support_messages
Can any child data providers support messages?
Definition: AbstractDataProviderFactory.qc.dox.h:56
DataProvider::DataProviderFactoryInfo::name
string name
The factory name.
Definition: AbstractDataProviderFactory.qc.dox.h:44
DataProvider::DataProviderFactoryInfo::children_can_support_records
bool children_can_support_records
Can any child data providers offer record-based providers?
Definition: AbstractDataProviderFactory.qc.dox.h:52
DataProvider::DataProviderFactoryInfo::api_profiles
*softlist< string > api_profiles
Which server profiles are supported for API management (if any)?
Definition: AbstractDataProviderFactory.qc.dox.h:62
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:64
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::children_can_support_transaction_management
bool children_can_support_transaction_management
Can any child data providers support transaction management?
Definition: AbstractDataProviderFactory.qc.dox.h:60
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