Qore DataProvider Module Reference  2.5
DataProvider::AbstractDataField Class Referenceabstract

describes a data type based on a hashdecl More...

Inheritance diagram for DataProvider::AbstractDataField:

Public Member Methods

auto acceptsValue (auto value)
 returns the value if the value can be assigned to the type More...
 
*hash< string, bool > getAllowedValueMap ()
 Get allowed values.
 
*list< auto > getAllowedValues ()
 Get allowed values.
 
auto getDefaultValue ()
 get default value, if any
 
abstract *string getDescription ()
 returns the description, if any
 
hash< DataFieldInfogetInfo ()
 returns information about the field
 
hash< DataFieldInfogetInputInfo ()
 returns information about the field as an input field More...
 
abstract string getName ()
 returns the name of the field
 
*hash< auto > getOptions ()
 returns options set on the field's type
 
auto getOptionValue (string opt)
 returns the value of the given option on the field's type
 
AbstractDataField getOrNothingType ()
 returns a field with an "or nothing" type equivalent to the current type More...
 
AbstractDataField getSoftType ()
 returns a field with a "soft" type equivalent to the current type More...
 
*hash< string, hash< DataProviderTypeOptionInfo > > getSupportedOptions ()
 returns supported options on the field's type
 
abstract AbstractDataProviderType getType ()
 returns the type of the field
 
string getTypeName ()
 returns the type name
 
bool hasType ()
 returns True if the field's type is not a wildcard type
 
bool isAssignableFrom (AbstractDataProviderType t)
 returns True if this field's type can be assigned from values of the argument type
 
bool isAssignableFrom (Type t)
 returns True if this field's type can be assigned from values of the argument type
 
bool isList ()
 returns True if this field's type is a list
 
bool isMandatory ()
 returns True if the field's type must have a value
 
 setAllowedValues (list< auto > allowed_values)
 Sets allowed values for enum types.
 
 setDefaultValue (auto default_value)
 sets the default value for the field
 
 setOption (string opt, auto value)
 sets the given option on the field's type More...
 
 setOptions (hash< auto > options)
 sets the given options on the field's type More...
 

Private Attributes

list< auto > allowed_values
 for enum fields; raw allowed values
 
hash< string, bool > allowed_values_map
 for enum fields; allowed values More...
 
auto default_value
 the default value for the field, if any
 

Detailed Description

describes a data type based on a hashdecl

Member Function Documentation

◆ acceptsValue()

auto DataProvider::AbstractDataField::acceptsValue ( auto  value)

returns the value if the value can be assigned to the type

Parameters
valuethe value to assign to the type
Returns
the value to be assigned; can be converted by the type

◆ getInputInfo()

hash<DataFieldInfo> DataProvider::AbstractDataField::getInputInfo ( )

returns information about the field as an input field

the default_value key is not returned, and the type key returns only input information

◆ getOrNothingType()

AbstractDataField DataProvider::AbstractDataField::getOrNothingType ( )

returns a field with an "or nothing" type equivalent to the current type

The base class method returns the same field; this method must be overridden in child classes to return a field with a usable "or nothing" type

Returns
a field with an "or nothing" type equivalent to the current type

◆ getSoftType()

AbstractDataField DataProvider::AbstractDataField::getSoftType ( )

returns a field with a "soft" type equivalent to the current type

The base class method returns the same field; this method must be overridden in child classes to return a field with a usable "soft" type

Returns
a field with a "soft" type equivalent to the current type

◆ setOption()

DataProvider::AbstractDataField::setOption ( string  opt,
auto  value 
)

sets the given option on the field's type

Parameters
optthe option to set
valuethe value to set
Exceptions
TYPE-OPTION-ERRORinvalid option or invalid option type

◆ setOptions()

DataProvider::AbstractDataField::setOptions ( hash< auto >  options)

sets the given options on the field's type

Parameters
optionsa hash of options, if any options match supported options for this type, they are set
Exceptions
TYPE-OPTION-ERRORoption value has an invalid type

Member Data Documentation

◆ allowed_values_map

hash<string, bool> DataProvider::AbstractDataField::allowed_values_map
private

for enum fields; allowed values

only supported for types that convert to a string