Public Member Functions | |
virtual int32_t | classId () const |
Return the classId of the instance being serialized. | |
virtual int8_t | DSFID () const |
virtual Serializable * | fromData (DataInput &input) |
Deserialize this object from the given DataInput . | |
int32_t | length () const |
Get the length of the array. | |
virtual uint32_t | objectSize () const |
Return the size in bytes of the instance being serialized. | |
TObj | operator[] (uint32_t index) const |
Get the element at given index. | |
void | preserveSB () const |
Atomically increment reference count. | |
int32_t | refCount () |
| |
void | releaseSB () const |
Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero. | |
virtual void | toData (DataOutput &output) const |
Serialize this object to the given DataOutput . | |
virtual CacheableStringPtr | toString () const |
Display this object as 'string', which depends on the implementation in the subclasses. | |
virtual int8_t | typeId () const |
Return the typeId byte of the instance being serialized. | |
const TObj * | value () const |
Get the underlying array. | |
Static Public Member Functions | |
template<class PRIM> | |
static SerializablePtr | create (const PRIM value) |
Factory method that creates the Serializable object that matches the type of value. | |
static CacheableBytesPtr | create (const uint8_t *value, int32_t length) |
Create a cacheable array copying from the given array. | |
static CacheableBytesPtr | create (int32_t length) |
Factory function to create a cacheable array of given size. | |
static CacheableBytesPtr | create () |
Factory function to create a new default instance. | |
static Serializable * | createDeserializable () |
Factory function registered with serialization registry. | |
static CacheableBytesPtr | createNoCopy (uint8_t *value, int32_t length) |
Create a cacheable array taking ownership of the given array without creating a copy. | |
static void | registerType (TypeFactoryMethod creationFunction) |
virtual int32_t gemfire::CacheableArrayType< TObj, TYPEID >::classId | ( | ) | const [inline, virtual, inherited] |
Return the classId of the instance being serialized.
This is used by deserialization to determine what instance type to create and deserialize into.
Implements gemfire::Serializable.
static SerializablePtr gemfire::Serializable::create | ( | const PRIM | value | ) | [inline, static, inherited] |
Factory method that creates the Serializable object that matches the type of value.
For customer defined derivations of Serializable, the method gemfire::createValue may be overloaded. For pointer types (e.g. char*) the method gemfire::createValueArr may be overloaded.
Reimplemented in gemfire::CacheableKey.
static CacheableBytesPtr gemfire::CacheableBytes::create | ( | const uint8_t * | value, | |
int32_t | length | |||
) | [inline, static] |
Create a cacheable array copying from the given array.
static CacheableBytesPtr gemfire::CacheableBytes::create | ( | int32_t | length | ) | [inline, static] |
Factory function to create a cacheable array of given size.
static CacheableBytesPtr gemfire::CacheableBytes::create | ( | ) | [inline, static] |
Factory function to create a new default instance.
static Serializable* gemfire::CacheableBytes::createDeserializable | ( | ) | [inline, static] |
Factory function registered with serialization registry.
static CacheableBytesPtr gemfire::CacheableBytes::createNoCopy | ( | uint8_t * | value, | |
int32_t | length | |||
) | [inline, static] |
Create a cacheable array taking ownership of the given array without creating a copy.
Note that the application has to ensure that the given array is not deleted (apart from this class) and is allocated on the heap using the "new" operator.
virtual int8_t gemfire::Serializable::DSFID | ( | ) | const [virtual, inherited] |
return the Data Serialization Fixed ID type. This is used to determine what instance type to create and deserialize into.
Note that this should not be overridden by custom implementations and is reserved only for builtin types.
Reimplemented in gemfire::CacheableUndefined, and gemfire::Struct.
virtual Serializable* gemfire::CacheableArrayType< TObj, TYPEID >::fromData | ( | DataInput & | input | ) | [inline, virtual, inherited] |
int32_t gemfire::CacheableArrayType< TObj, TYPEID >::length | ( | ) | const [inline, inherited] |
Get the length of the array.
virtual uint32_t gemfire::CacheableArrayType< TObj, TYPEID >::objectSize | ( | ) | const [inline, virtual, inherited] |
Return the size in bytes of the instance being serialized.
This is used to determine whether the cache is using up more physical memory than it has been configured to use. The method can return zero if the user does not require the ability to control cache memory utilization.
Reimplemented from gemfire::Serializable.
TObj gemfire::CacheableArrayType< TObj, TYPEID >::operator[] | ( | uint32_t | index | ) | const [inline, inherited] |
Get the element at given index.
void gemfire::SharedBase::preserveSB | ( | ) | const [inherited] |
Atomically increment reference count.
int32_t gemfire::SharedBase::refCount | ( | ) | [inline, inherited] |
static void gemfire::Serializable::registerType | ( | TypeFactoryMethod | creationFunction | ) | [static, inherited] |
register an instance factory method for a given type. During registration the factory will be invoked to extract the typeId to associate with this function.
IllegalStateException | if the typeId has already been registered, or there is an error in registering the type; check errno for more information in the latter case. |
void gemfire::SharedBase::releaseSB | ( | ) | const [inherited] |
Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.
virtual void gemfire::CacheableArrayType< TObj, TYPEID >::toData | ( | DataOutput & | output | ) | const [inline, virtual, inherited] |
virtual CacheableStringPtr gemfire::Serializable::toString | ( | ) | const [virtual, inherited] |
Display this object as 'string', which depends on the implementation in the subclasses.
The default implementation renders the classname.
The return value may be a temporary, so the caller has to ensure that the SharedPtr count does not go down to zero by storing the result in a variable or otherwise.
Reimplemented in gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >, gemfire::CacheableDate, and gemfire::CacheableString.
virtual int8_t gemfire::CacheableArrayType< TObj, TYPEID >::typeId | ( | ) | const [inline, virtual, inherited] |
Return the typeId byte of the instance being serialized.
This is used by deserialization to determine what instance type to create and deserialize into.
Reimplemented from gemfire::Serializable.
const TObj* gemfire::CacheableArrayType< TObj, TYPEID >::value | ( | ) | const [inline, inherited] |
Get the underlying array.