|
const char * | getName () const |
| Returns the name of a data type object. More...
|
|
virtual IliSchema * | getNestedSchema () const |
| Returns the schema of the manager IliTable objects if this is a structured data type. More...
|
|
const char * | getPrettyName (IlvDisplay *display) const |
| Returns pretty name. More...
|
|
virtual IlBoolean | isAnonymous () const |
| Returns IlTrue if the name of the data type is not an identifier. More...
|
|
virtual IlBoolean | isBinaryType () const |
| Returns IlTrue if the native format of the data type is binary. More...
|
|
virtual IlBoolean | isDateTimeType () const |
| Returns IlTrue if the native format of the data type is a date or a time. More...
|
|
virtual IlBoolean | isDecimalType () const |
| Returns IlTrue if the native format of the data type is IliDecimal . More...
|
|
virtual IlBoolean | isFractionalType () const |
| Returns IlTrue if the native format of the data type is a real (for example, float, double, or IliDecimal ). More...
|
|
virtual IlBoolean | isIntegralType () const |
| Returns IlTrue if the native format of the data type is not a real (for example, Boolean, byte, or integer). More...
|
|
virtual IlBoolean | isLargeObjectType () const |
| Returns IlTrue if the native format of the data type corresponds to a large type in the database (for example, long string). More...
|
|
virtual IlBoolean | isNumericType () const |
| Returns IlTrue if the native format of the data type is numeric (for example, Boolean, byte, integer, float, double, or IliDecimal ). More...
|
|
virtual IlBoolean | isObjectType () const |
| Returns IlTrue if the the data type is an object. More...
|
|
IlBoolean | isRegistered () const |
| Returns IlTrue if the data type is registered. More...
|
|
virtual IlBoolean | isStringType () const |
| Returns IlTrue if the native format of the data type is a character string (for example, string or long string). More...
|
|
virtual IlBoolean | isStructuredType () const |
| Returns IlTrue if the data type is a structured type (for example, table or object). More...
|
|
virtual IlBoolean | isTableType () const |
| Returns IlTrue if the the data type is a table. More...
|
|
virtual IliTable * | makeTable () const |
| Returns a created IliMemoryTable having the same schema as the data type if this is a structured data type. More...
|
|
void | writeType (std::ostream &output) const |
| Writes the name of the data type to an output stream. More...
|
|
IlInt | getRefCount () const |
| Returns the reference count of the object. Initially, this property is set to 0 . More...
|
|
void | lock () const |
| Increments the reference count of the object.
|
|
void | unLock () const |
| Decrements the reference count of the object. More...
|
|
User interface class.
Library: dataccess
This class controls the type of an IliValue
object. For each possible type, there is one instance (of a subclass) of this class. The most commonly used data types correspond to the basic types such String, Integer, Float, and so on. The "See Also" section below lists the global variable names that let you access these data types. Alternatively, these data types can be retrieved using one of the following static member functions:
Additionally, new data type objects are automatically synthesized when communicating with an SQL database server, such as Oracle 9i, 10g, 11g or Informix 9, that support non-scalar types such as arrays, records, or nested tables. A structured type (see isStructuredType()
) can be either a table type (see isTableType()
) or an object type (see isObjectType()
). Both are defined in terms of a schema (see getNestedSchema()
) and each IliValue
object that they manage holds an IliTable
object that conforms to this schema. An object data type expects that the IliTable
it manages through the IliValue
will contain at most one row. Note that these data types cannot be retrieved by using one of the following static member functions:
Data type objects are reference counted. This means that a data type object must be locked before it is used. It can then be used as long as necessary. When the data type object is no longer needed, it is unlocked. In this way, the data type object will be deleted when the number of its users is zero. The predefined data types that can be accessed through global variables are locked at initialization time and unlocked at termination time so the requirement applies mainly to the other data types, such as the structured types. (See the "See Also" section below for a list of the global variables.) It is possible to programmatically define new data type objects by subclassing the IliPointerTypeClass
class. See the description of that class for more information on how this can be achieved.
- See also
- IliPointerTypeClass, IliValue, IliBinaryType, IliBooleanType, IliByteType, IliDateType, IliDecimalType, IliDoubleType, IliFloatType, IliIntegerType, IliLongStringType, IliStringType, IliTimeType