81 hash<string, hash<DataFieldInfo>>
fields;
92 static Type anyType = Reflection::AutoType;
describes a data type based on a hashdecl
Definition: AbstractDataField.qc.dox.h:44
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:88
bool hasType()
Returns True if the type is not a wildcard type.
*hash< string, hash< DataFieldInfo > > getFieldInfo()
Returns information on fields supported.
int getBaseTypeCode()
Returns the base type code for the type.
bool isAssignableFrom(AbstractDataProviderType t)
Returns True if this type can be assigned from values of the argument type.
*AbstractDataProviderType getFieldType(string field_name)
get the given field type if it exists, otherwise return NOTHING
hash< auto > options
type options
Definition: AbstractDataProviderType.qc.dox.h:98
static AbstractDataProviderType get(Type type, *hash< auto > options)
Returns an appropriate object for the given type.
hash< DataTypeInfo > getInfo()
Returns a description of the type as a hash.
bool isAssignableFrom(Type t)
Returns True if this type can be assigned from values of the argument type.
abstract *AbstractDataProviderType getElementType()
Returns the subtype (for lists or hashes) if there is only one.
*hash< string, bool > getDirectTypeHash()
Returns a hash of native base type code keys where no translations are performed; keys are type codes...
hash< DataTypeInfo > getInputInfo()
Returns a description of the type as an input type.
bool isMandatory()
Returns True if the type must have a value.
bool isList()
Returns True if this type is a list.
string getBaseTypeName()
Returns the base type name for the type; must be a standard Qore base type name.
bool isOrNothingType()
Returns True if the type also accepts NOTHING.
abstract auto acceptsValue(auto value)
Returns the value if the value can be assigned to the type.
static AbstractDataProviderType get(string typename, *hash< auto > options)
Returns an appropriate object for the given type.
*hash< string, hash< DataProviderTypeOptionInfo > > getSupportedOptions()
Returns supported options.
AbstractDataProviderType getOrNothingType()
Returns an "or nothing" type equivalent to the current type.
abstract string getName()
Returns the type name.
abstract *hash< string, AbstractDataField > getFields()
Returns the fields of the data structure; if any.
setOptionIntern(string opt, auto value)
sets the given option without any validation of the option
setOptions(hash< auto > options)
sets options on the type
abstract *Type getValueType()
Returns the base type for the type, if any.
*AbstractDataField getField(string field_name)
Returns the given field, if present, or NOTHING if not.
*hash< auto > getOptions()
Returns options set on the type.
constructor()
creates the type
AbstractDataProviderType getSoftType()
Returns a "soft" type equivalent to the current type.
constructor(hash< auto > options)
creates the type and sets options
setOption(string opt, auto value)
sets the given option on the type
abstract hash< string, bool > getReturnTypeHash()
Returns a hash of types returned by this type; keys are type names.
abstract hash< string, bool > getAcceptTypeHash()
Returns a hash of types accepted by this type; keys are type names.
auto getOptionValue(string opt)
Returns the value of the given option.
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:27
const DataTypeMap
maps Qore type name constant values to data type objects
Definition: AbstractDataProviderType.qc.dox.h:45
const OptimalQoreDataTypeMap
maps Qore type name constant values from the Type namespace to optimal Qore types names
Definition: AbstractDataProviderType.qc.dox.h:35
const TypeCodeMap
maps type codes to type names
Definition: AbstractDataProviderType.qc.dox.h:29
const OptimalQoreSoftDataTypeMap
maps Qore type name constant values from the Type namespace to optimal Qore types names
Definition: AbstractDataProviderType.qc.dox.h:41
describes type options
Definition: AbstractDataProviderType.qc.dox.h:49
string desc
the description of the option
Definition: AbstractDataProviderType.qc.dox.h:54
string type
the option value type
Definition: AbstractDataProviderType.qc.dox.h:51
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:58
*hash< auto > options
output: current transformation option values
Definition: AbstractDataProviderType.qc.dox.h:66
*hash< string, hash< DataProviderTypeOptionInfo > > supported_options
output: transformation options supported by the type
Definition: AbstractDataProviderType.qc.dox.h:63
bool can_manage_fields
if fields can be added dynamically to the type
Definition: AbstractDataProviderType.qc.dox.h:84
bool mandatory
output: can be null / missing?
Definition: AbstractDataProviderType.qc.dox.h:72
list< string > types_returned
input: list of types returned
Definition: AbstractDataProviderType.qc.dox.h:78
string base_type
output: base type
Definition: AbstractDataProviderType.qc.dox.h:69
list< string > types_accepted
output: list of types accepted
Definition: AbstractDataProviderType.qc.dox.h:75
hash< string, hash< DataFieldInfo > > fields
any fields supported by the type
Definition: AbstractDataProviderType.qc.dox.h:81
string name
the name of the type
Definition: AbstractDataProviderType.qc.dox.h:60