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. |