Qore DataProvider Module Reference  1.1
HashDataType.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
25 // assume local scope for variables, do not use "$" signs
26 // require type definitions everywhere
28 // enable all warnings
29 
30 
32 namespace DataProvider {
34 
39 class HashDataType : public QoreDataType {
40 
41 public:
42 protected:
44  string name;
45 
47  hash<string, AbstractDataField> fields;
48 
51 
54 
55 public:
56 
58  constructor(string name = AutoHashType.getName(), *hash<auto> options) ;
59 
60 
62  constructor(Type base_type, *string name, *hash<auto> options) ;
63 
64 
66  constructor(string name = AutoHashType.getName(), hash<string, AbstractDataField> fields, *hash<auto> options)
67  ;
68 
69 
72 
73 
75  string getName();
76 
77 
79 
85  auto acceptsValue(auto value);
86 
87 
89 
93 
94 
97 
98 
101 
102 
104  *hash<string, AbstractDataField> getFields();
105 
106 
108 
111 
112 
114 
117 
118 };
119 };
describes a data type based on a hashdecl
Definition: AbstractDataField.qc.dox.h:49
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:93
hash< auto > options
type options
Definition: AbstractDataProviderType.qc.dox.h:103
static AbstractDataProviderType get(Type type, *hash< auto > options)
Returns an appropriate object for the given type.
describes a data type based on a hash
Definition: HashDataType.qc.dox.h:39
constructor(string name=AutoHashType.getName(), hash< string, AbstractDataField > fields, *hash< auto > options)
creates the object from the given record description and assigns the name as the type
AbstractDataProviderType getOrNothingType()
Returns an "or nothing" type equivalent to the current type.
addField(AbstractDataField field)
adds a field to the type
bool isAssignableFrom(AbstractDataProviderType t)
Returns True if this type can be assigned from values of the argument type.
*hash< string, AbstractDataField > getFields()
Returns the fields of the data structure; if any.
hash< string, AbstractDataField > fields
fields
Definition: HashDataType.qc.dox.h:47
*AbstractDataField getField(string name)
Returns the given field, if present, or NOTHING if not.
setDefaultOtherFieldType(*AbstractDataProviderType default_other_field_type)
Sets the default field type for unlisted fields.
bool has_default_other_field_type
if the type requires validation
Definition: HashDataType.qc.dox.h:53
constructor(Type base_type, *string name, *hash< auto > options)
creates the object and assigns the name as the given name or the base type's name
string getName()
Returns the type name.
AbstractDataProviderType getSoftType()
Returns a "soft" type equivalent to the current type.
string name
the name of the type
Definition: HashDataType.qc.dox.h:44
auto acceptsValue(auto value)
Returns the value if the value can be assigned to the type.
constructor(string name=AutoHashType.getName(), *hash< auto > options)
creates the object and assigns the name as the type
*AbstractDataProviderType default_other_field_type
allow other fields
Definition: HashDataType.qc.dox.h:50
describes a data type based on a Qore data type
Definition: QoreDataType.qc.dox.h:37
const False
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:32