Adaptive Framework 0.9.0

Data Types

Data Types are the fundamental pieces of storage that Adaptive Framework uses to represent a type of data. They are implementations of the afw_data_type interface, created and registered by the core, or by extensions. Some of the features of a Data Type include storing the value internally, providing an external representation, a way to declare it in JSON and JSONSchema format, and a function to compare two values.

The following data types are defined by core:

Data TypeDescription
x500NameData type x500Name hold a X.500 distinguished name.
rfc822NameData type rfc822Name holds a string value that conforms to RFC822: local-part@domain
impliedAny value can be assigned as the value of data type "implied". The actual data type is the data type of the value. Most "type check" errors can be detected during compile to reduce the number of errors detected during evaluation.
timeData type time is ISO 8601 extended format hh:mm:ss with an optional time zone.
templateData type template holds the source for an adaptive template.
anyAny value can be assigned as the value of data type "any". The actual data type is the data type of the value. Data type "implied" is preferred over data type "any" since "any" only detects type check errors during evaluation.
scriptData type script holds the source for an adaptive script.
passwordData type password hold a secret series of characters that enables a user to access a file, computer, or program.
functionThis is an Adaptive Script function definition, an ExpressionTupleOperation_lambda, the name of a built-in Adaptive function, or the name of a qualified variable that holds a function value. If dataTypeParameterType is specified, the function must match that signature.
ipAddressData type ipAddress holds an Internet Protocol address (IP address).
dnsNameData type dnsName is Domain Name System (DNS) name.
listData type list holds a list of adaptive value. The list can have value all of one data type or of different data types.
dateData type date holds a calendar date in format CCYY-MM-DD.
regexpData type regexp holds the source for a regular expression conforming to XML Schemas Part 2 Datatype Appendix F.
objectIdData type objectId holds an adaptive object's object id. This is an association with another adaptive object by objectId that has the same adaptor id and object type id.
hexBinaryData type hexBinary holds binary data. Its string value is character hex encoded.
integerData type integer hold a positive or negative whole numbers. The string value of a negative integer is preceded with a minus sign ('-'). A positive integer is displayed without a sign but can optionally be preceded by a plus sign ('+') on input.
stringData type string hold a sequence of Unicode code points as defined at
objectData type object holds an adaptive object.
expressionData type expression holds the source for an adaptive expression.
base64BinaryData type base64Binary holds binary data. Its string value is base64 encoded.
booleanData type boolean holds a boolean value. Its to_string() value is "true" or "false". Its from_string() true value can be mixed case "t", "true" or "1". Its from_string() false value can be mixed case "f", "false" or "0".
doubleData type double holds a double-precision 64-bit floating point number. It also can hold the values 0, -0, INF, -INF and NaN.
dateTimeData type dateTime is ISO 8601 extended format CCYY-MM-DDThh:mm:ss with an optional time zone.
anyURIData type anyURI holds a Uniform Resource Identifier Reference (URI). The URI can be absolute or relative, and may have an optional fragment identifier.
hybridData type hybrid can be a string containing the source for an adaptive expression tuple, an adaptive script, or an adaptive template. It can also be a literal (evaluated value) such as boolean, double, integer, list, object, or string. If the value is a string that begins with a square bracket ('['), the string is the source for an expressionTuple. If the value is a string that begins with a shebang ('#!'), the string is the source for a script. If not either of these, but the string contains a substitution ( ${...} ), the string is a source for a template. In other cases, the string is a string literal.
ia5StringData type ia5String holds a string restricted to the ASN.1 notation. It is used to represent ISO 646 (IA5) characters. which contains precisely 128 characters.
unevaluatedThis is a value produced by any of the Adaptive compile functions that can be evaluated using the evaluate() function.
yearMonthDurationData type yearMonthDuration an ISO 8601 extended format PnYnMn.
dayTimeDurationData type dayTimeDuration is an ISO 8601 extended format DTnHnMnS
xpathExpressionData type xpathExpression holds an XML Path Language (XPath) expression. An xpath expression provides the ability to navigate around the tree representation of an XML document.
nullData type null is a special data type that represents no value.
objectPathData type objectPath is the path within the same instance of Adaptive Framework of an object. Its for is /<adaptorId>/<objectType>/<objectId> where <adaptorId> is an adaptor id, <objectType> is the object id of an object type, and <objectId> is the id of an object.