79 "boolean":
"softbool",
81 "double":
"softfloat",
105 "all": AbstractDataProviderType::anyType,
106 "*int": IntOrNothingType,
107 "*integer": IntOrNothingType,
108 "*string": StringOrNothingType,
109 "*boolean": BoolOrNothingType,
110 "*bool": BoolOrNothingType,
111 "*double": FloatOrNothingType,
112 "*float": FloatOrNothingType,
113 "*number": NumberOrNothingType,
114 "*binary": BinaryOrNothingType,
115 "*list": AutoListOrNothingType,
116 "*hash": AutoHashOrNothingType,
117 "*object": ObjectOrNothingType,
118 "*date": DateOrNothingType,
154 hash<string, hash<DataFieldInfo>>
fields;
164 static Type nothingType(
"nothing");
165 static Type anyType(
"auto");
293 abstract *hash<string, AbstractDataField>
getFields();
const TypeCodeMap
maps type codes to type names
Definition: AbstractDataProviderType.qc.dox.h:34
*AbstractDataField getField(string field_name)
returns the given field, if present, or NOTHING if not
string name
the name of the type
Definition: AbstractDataProviderType.qc.dox.h:133
*hash< auto > getOptions()
returns options set on the type
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:131
setOption(string opt, auto value)
sets the given option on the type
const OptimalQoreSoftDataTypeMap
maps Qore type name constant values from the Type namespace to optimal Qore types names
Definition: AbstractDataProviderType.qc.dox.h:75
hash< DataTypeInfo > getInfo()
returns a description of the type as a hash
*hash< auto > options
output: current transformation option values
Definition: AbstractDataProviderType.qc.dox.h:139
bool isMandatory()
returns True if the type must have a value
abstract auto acceptsValue(auto value)
returns the value if the value can be assigned to the type
abstract *hash< string, AbstractDataField > getFields()
returns the fields of the data structure; if any
static AbstractDataProviderType get(Type type, *hash< auto > options)
returns an appropriate object for the given type
hash< string, hash< DataFieldInfo > > fields
any fields supported by the type
Definition: AbstractDataProviderType.qc.dox.h:154
*hash< string, hash< DataProviderTypeOptionInfo > > getSupportedOptions()
returns supported options
string base_type
output: base type
Definition: AbstractDataProviderType.qc.dox.h:142
*hash< string, hash< DataProviderTypeOptionInfo > > supported_options
output: transformation options supported by the type
Definition: AbstractDataProviderType.qc.dox.h:136
describes type options
Definition: AbstractDataProviderType.qc.dox.h:122
bool hasType()
returns True if the type is not a wildcard type
bool mandatory
output: can be null / missing?
Definition: AbstractDataProviderType.qc.dox.h:145
AbstractDataProviderType getSoftType()
returns a "soft" type equivalent to the current type
string type
the option value type
Definition: AbstractDataProviderType.qc.dox.h:124
list< string > types_accepted
output: list of types accepted
Definition: AbstractDataProviderType.qc.dox.h:148
setOptions(hash< auto > options)
sets options on the type
const OptimalQoreDataTypeMap
maps Qore type name constant values from the Type namespace to optimal Qore types names
Definition: AbstractDataProviderType.qc.dox.h:53
abstract *Type getValueType()
returns the base type for the type, if any
bool isAssignableFrom(AbstractDataProviderType t)
returns True if this type can be assigned from values of the argument type
hash< auto > options
type options
Definition: AbstractDataProviderType.qc.dox.h:169
abstract hash< string, bool > getReturnTypeHash()
returns a hash of types returned by this type; keys are type names
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:161
string desc
the description of the option
Definition: AbstractDataProviderType.qc.dox.h:127
abstract hash< string, bool > getAcceptTypeHash()
returns a hash of types accepted by this type; keys are type names
describes a data type based on a hashdecl
Definition: AbstractDataField.qc.dox.h:49
list< string > types_returned
input: list of types returned
Definition: AbstractDataProviderType.qc.dox.h:151
int getBaseTypeCode()
returns the base type code for the type
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:32
const DataTypeMap
maps Qore type name constant values to data type objects
Definition: AbstractDataProviderType.qc.dox.h:89
*hash< string, hash< DataFieldInfo > > getFieldInfo()
Returns information on fields supported.
abstract *AbstractDataProviderType getElementType()
returns the subtype (for lists or hashes) if there is only one
string getBaseTypeName()
returns the base type name for the type; must be a standard Qore base type name
*AbstractDataProviderType getFieldType(string field_name)
get the given field type if it exists, otherwise return NOTHING
bool can_manage_fields
if fields can be added dynamically to the type
Definition: AbstractDataProviderType.qc.dox.h:157
bool isList()
returns True if this type is a list
abstract string getName()
returns the type name
hash< DataTypeInfo > getInputInfo()
returns a description of the type as an input type
auto getOptionValue(string opt)
returns the value of the given option
constructor()
creates the type
setOptionIntern(string opt, auto value)
sets the given option without any validation of the option
*hash< string, bool > getDirectTypeHash()
returns a hash of native base type code keys where no translations are performed; keys are type codes...
bool isOrNothingType()
returns True if the type also accepts NOTHING