TypeDefinition - Type definition
Type definitions refer to metadata objects providing information about complex data types and enumerations. Mainly, type definitions provide meta-information for a property or extent. Type definitions may be obtained from Dictionary, Property, Value or PropertyDefinitions by calling typeDefinition().
Type definitions for user-defined data types usually refer to elements, i.e. to properties in case of complex data type definition or to enumerators in case of enumerations. Property definitions can be retrieved by propertyDefinition(). Enumerators for an enumeration can be made available by calling enumeratorDefinition().
Type definitions refer to resources defined in the dictionary of the database. when closing the database, type definitions may become inaccessible and should be destroyed before.
Some of the properties are not directly defined in the schema definition, but are derived from the schema definition. Thus, functions like isOdabaObject() are combining several information in order to derive the property.
In addition, ...Count properties are provided in order to return the number of subordinated elements (e.g. attributeCount()).
// OSI fragment
... fragment ( Person &pers ) {
VARIABLES
TypeDefinition td = pers.typeDefinition();
int count = td.attributeCount();
PROCESS
while ( --count > 0 )
Message(td.attributeName(count);
}
- 1. Administration - Administration functions
- 2. Properties - Type metadata
- 3. Complex data type - Type metadata - complex data types
- 3.1. Elements - Complex data type elements
- 3.2. View - Type metadata - views
- 4. Enumeration - Type metadata - enumerations
- TypeDefinition - Constructor
- alignment - Alignment definition
- attributeCount - Number of attributes
- attributeName - Get attribute according to position
- attributeNameCount - Get number of attribute names
- baseTypeCount - Number of base types
- basedOn - Does structure inherit from passed type
- checkDeleteEmpty - Check 'delete empty' option
- collectionName - Get reference from structure definition
- collectionNameCount - Get number of reference paths
- displayAlignment - Display data type alignment information
- enumeratorCount - Number of enumerators
- enumeratorDefinition - Get enumerator definition
- enumeratorEntry - Get enumerator definition entry
- generatesGUID - GUID Option
- inherits - Does type inherit from passed type
- internalTypeID - Internal type number
- isA - Is structure of passed type
- isComplexType - Is data type a complex data type
- isElementaryType - Is type a basic data type?
- isEnumeration - Is data type an enumeration
- isOdabaObject - Complex data type is based on __OBJECT
- isValid - Is type definition valid?
- isView - Does type definition define a view
- keyCount - Number of defined keys
- keyDefinition - Get type definition for key
- keyExist - Check key name
- length - Instance length
- lookupCode - Lookup enumeration code by string
- lookupCondition - Lookup enumerator condition by code
- lookupLabel - Lookup enumerator label by code
- lookupName - Lookup enumerator name by code
- lookupTitle - Lookup enumerator title by code
- lookupType - Get enumerator type name
- metaType - Meta-type property
- name - Data type name
- namespaceID - Internal name space identifier
- operator== - Are type definitions equal?
- propertyCount - Data type property count
- propertyDefinition - Get property definition
- propertyExist - Check property path
- referenceCount - Number of references
- relationshipCount - Relationship count
- resourceId - Resource identification number
- schemaVersion - Structure schema version
- select - Select expression
- sharedBaseName - Get property names for shared base types
- sharedBaseNameCount - Number of shared base type properties
- view - OSI Select statement
- viewFrom - FROM expression
- viewGroup - Get Group specifications
- viewHaving - Having specification
- viewOrder - Order by operands
- viewWhere - Where specification
- ~TypeDefinition - Destructor