Qore DataProvider Module Reference 3.0
Loading...
Searching...
No Matches
DataProvider::AbstractDataField Class Reference

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

#include <AbstractDataField.qc.dox.h>

Inheritance diagram for DataProvider::AbstractDataField:
[legend]

Public Member Methods

auto acceptsValue (auto value)
 returns the value if the value can be assigned to the type
 
*hash< string, bool > getAllowedValueMap ()
 Get allowed values.
 
*list< hash< AllowedValueInfo > > getAllowedValues ()
 Get allowed values.
 
*hash< auto > getAttributes ()
 Returns custom attributes set on the type.
 
auto getDefaultValue ()
 get default value, if any
 
abstract *string getDescription ()
 returns the description, if any
 
string getDisplayName ()
 Returns the display name of the field.
 
auto getExampleValue ()
 Returns any example value for the field, otherwise return example data from the type.
 
hash< DataFieldInfogetInfo ()
 returns information about the field
 
hash< DataFieldInfogetInputInfo ()
 returns information about the field as an input field
 
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
 
*string getShortDescription ()
 Returns the short description, if any.
 
AbstractDataField getSoftType ()
 returns a field with a "soft" type equivalent to the current type
 
*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
 
 replaceAttributes (*hash< auto > attr)
 Replaces all custom attributes.
 
AbstractDataField setAllowedValues (list< auto > allowed_values)
 Sets allowed values for enum types.
 
AbstractDataField setAttributes (hash< auto > attr)
 Sets custom attributes.
 
AbstractDataField setDefaultValue (auto default_value)
 sets the default value for the field
 
AbstractDataField setOption (string opt, auto value)
 sets the given option on the field's type
 
AbstractDataField setOptions (hash< auto > options)
 sets the given options on the field's type
 

Static Public Member Methods

static string getDisplayName (string name)
 Converts a technical name into a display name.
 
static string getNameFromDisplayName (string display_name)
 Converts a display name into a technical name.
 
static *string getShortDescription (*string desc, *int maxlen)
 Converts a long description into a short description.
 

Private Attributes

list< hash< AllowedValueInfo > > allowed_values
 for enum fields; raw allowed values
 
hash< string, bool > allowed_values_map
 for enum fields; allowed values
 
hash< auto > attr
 User-defined custom attributes set on the field.
 
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

◆ getExampleValue()

auto DataProvider::AbstractDataField::getExampleValue ( )

Returns any example value for the field, otherwise return example data from the type.

Returns
if a default value exists, it is returned first, then the example value for the type, if any
Since
DataProvider 3.0

◆ getInputInfo()

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

returns information about the field as an input field

the default_value and \example_value keys are 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()

AbstractDataField 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()

AbstractDataField 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