User interface class. More...
#include <ilviews/dataccess/datatype.h>
Protected Member Functions | |
| IliPointerTypeClass (const char *name) | |
Constructs an IliPointerTypeClass data type. More... | |
| virtual IlAny | lockAny (IlAny any) const |
| Increments a reference count related to an object. More... | |
| virtual void | unLockAny (IlAny any) const |
| Decrements a reference count related to an object. More... | |
Protected Member Functions inherited from IliDatatype | |
| void | doRegister () |
This protected member function can be called in the constructor of subclasses of IliDatatype to make the object visible to the GetDatatypeByName() and GetDatatypeByPrettyName() static member functions. More... | |
Protected Member Functions inherited from IliRefCounted | |
| virtual | ~IliRefCounted () |
This is the virtual destructor of the IliRefCounted class. More... | |
Additional Inherited Members | |
Public Member Functions inherited from IliDatatype | |
| 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... | |
Public Member Functions inherited from IliRefCounted | |
| 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... | |
Static Public Member Functions inherited from IliDatatype | |
| static const IliDatatype * | GetDatatypeByName (const char *name) |
| Returns the data type from a name. More... | |
| static const IliDatatype * | GetDatatypeByPrettyName (IlvDisplay *disp, const char *name) |
Returns a data type whose localized name is prettyName or 0 if no such data type exists. More... | |
| static const IliDatatype * | ReadType (std::istream &input) |
| Reads a data type name from an input stream. More... | |
User interface class.
Library: dataccess
The IliPointerTypeClass class can serve as a base class to implement custom data types. It works in conjunction with the IliValue::asAny() and IliValue::importAny() member functions. A custom data type manages objects of a given C++ type through IliValue objects. Internally, the managed objects are represented as void pointers by way of IlAny. The lockAny() and unLockAny() member functions provide the conversion between IlAny and the appropriate type and manage the object lifetime. A data type can specify what happens when an IliValue object is copied into another object. One of the following can occur:
IliValue objects. IliValue object. The following example shows how the sharing policy can be implemented:
The following example shows how the copy policy can be implemented:
|
protected |
Constructs an IliPointerTypeClass data type.
| name | If the name is unique among all registered data types, it is possible to call IliDatatype::doRegister() during construction to make the data type instance visible through IliDatatype::GetDatatypeByName() and IliDatatype::GetDatatypeByPrettyName(). |
Increments a reference count related to an object.
Depending on the sharing policy of the data type, this virtual member function should do one of the following:
If the object is 0, this member function should return 0.
| any | A pointer to an object managed by this data type or 0. |
0.
|
protectedvirtual |
Decrements a reference count related to an object.
Depending on the sharing policy of this data type, this virtual member function should do one of the following:
| any | A pointer to an object managed by this data type. |