GemStone::GemFire::Cache::IGFSerializable Interface Reference

Inherited by GemStone::GemFire::Cache::CacheableHashMap, GemStone::GemFire::Cache::CacheableObject, GemStone::GemFire::Cache::CacheableObjectArray, GemStone::GemFire::Cache::CacheableObjectXml, GemStone::GemFire::Cache::CacheableStack, GemStone::GemFire::Cache::CacheableUndefined, GemStone::GemFire::Cache::CacheableVector, GemStone::GemFire::Cache::ICacheableKey, GemStone::GemFire::Cache::Properties, GemStone::GemFire::Cache::RegionAttributes, GemStone::GemFire::Cache::Serializable, and GemStone::GemFire::Cache::UserFunctionExecutionException.


Detailed Description

This interface class is the superclass of all user objects in the cache that can be serialized.

Public Member Functions

GemStone::GemFire::Cache::IGFSerializableFromData (GemStone::GemFire::Cache::DataInput^ input)
void ToData (GemStone::GemFire::Cache::DataOutput^ output)
String^ ToString ()

Properties

uint32_t ClassId [get]
uint32_t ObjectSize [get]

Member Function Documentation

GemStone::GemFire::Cache::IGFSerializable ^ GemStone::GemFire::Cache::IGFSerializable::FromData ( GemStone::GemFire::Cache::DataInput^   input  ) 

Deserialize this object, typical implementation should return the 'this' pointer.

Parameters:
input the DataInput stream to use for reading the object data
Returns:
the deserialized object

Implemented in GemStone::GemFire::Cache::Template::CacheableBuiltinKey< TNative, TManaged, TYPEID >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< TNative, TNativePtr, TManaged, TYPEID >, GemStone::GemFire::Cache::CacheableDate, GemStone::GemFire::Cache::CacheableFileName, GemStone::GemFire::Cache::CacheableHashMap, GemStone::GemFire::Cache::Internal::CacheableHashSetType< TYPEID, HSTYPE >, GemStone::GemFire::Cache::CacheableObject, GemStone::GemFire::Cache::CacheableObjectArray, GemStone::GemFire::Cache::CacheableObjectXml, GemStone::GemFire::Cache::CacheableStack, GemStone::GemFire::Cache::CacheableStringArray, GemStone::GemFire::Cache::CacheableString, GemStone::GemFire::Cache::CacheableUndefined, GemStone::GemFire::Cache::CacheableVector, GemStone::GemFire::Cache::Properties, GemStone::GemFire::Cache::RegionAttributes, GemStone::GemFire::Cache::Serializable, GemStone::GemFire::Cache::UserFunctionExecutionException, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableFloat, Single, GemFireClassIds::CacheableFloat >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableByte, Byte, GemFireClassIds::CacheableByte >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableWideChar, Char, GemFireClassIds::CacheableCharacter >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableDouble, Double, GemFireClassIds::CacheableDouble >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt64, int64_t, GemFireClassIds::CacheableInt64 >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableBoolean, bool, GemFireClassIds::CacheableBoolean >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt16, int16_t, GemFireClassIds::CacheableInt16 >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt32, int32_t, GemFireClassIds::CacheableInt32 >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableBytes, gemfire::CacheableBytesPtr, Byte, GemFireClassIds::CacheableBytes >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt32Array, gemfire::CacheableInt32ArrayPtr, int32_t, GemFireClassIds::CacheableInt32Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt64Array, gemfire::CacheableInt64ArrayPtr, int64_t, GemFireClassIds::CacheableInt64Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CharArray, gemfire::CharArrayPtr, Char, GemFireClassIds::CharArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableFloatArray, gemfire::CacheableFloatArrayPtr, Single, GemFireClassIds::CacheableFloatArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt16Array, gemfire::CacheableInt16ArrayPtr, int16_t, GemFireClassIds::CacheableInt16Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableDoubleArray, gemfire::CacheableDoubleArrayPtr, Double, GemFireClassIds::CacheableDoubleArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::BooleanArray, gemfire::BooleanArrayPtr, bool, GemFireClassIds::BooleanArray >, GemStone::GemFire::Cache::Internal::CacheableHashSetType< GemStone::GemFire::Cache::GemFireClassIds::CacheableHashSet, gemfire::CacheableHashSet >, and GemStone::GemFire::Cache::Internal::CacheableHashSetType< GemStone::GemFire::Cache::GemFireClassIds::CacheableLinkedHashSet, gemfire::CacheableLinkedHashSet >.

void GemStone::GemFire::Cache::IGFSerializable::ToData ( GemStone::GemFire::Cache::DataOutput^   output  ) 

Serializes this object.

Parameters:
output the DataOutput object to use for serializing the object

Implemented in GemStone::GemFire::Cache::Template::CacheableBuiltinKey< TNative, TManaged, TYPEID >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< TNative, TNativePtr, TManaged, TYPEID >, GemStone::GemFire::Cache::CacheableDate, GemStone::GemFire::Cache::CacheableFileName, GemStone::GemFire::Cache::CacheableHashMap, GemStone::GemFire::Cache::Internal::CacheableHashSetType< TYPEID, HSTYPE >, GemStone::GemFire::Cache::CacheableObject, GemStone::GemFire::Cache::CacheableObjectArray, GemStone::GemFire::Cache::CacheableObjectXml, GemStone::GemFire::Cache::CacheableStack, GemStone::GemFire::Cache::CacheableStringArray, GemStone::GemFire::Cache::CacheableString, GemStone::GemFire::Cache::CacheableUndefined, GemStone::GemFire::Cache::CacheableVector, GemStone::GemFire::Cache::Properties, GemStone::GemFire::Cache::RegionAttributes, GemStone::GemFire::Cache::Serializable, GemStone::GemFire::Cache::UserFunctionExecutionException, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableFloat, Single, GemFireClassIds::CacheableFloat >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableByte, Byte, GemFireClassIds::CacheableByte >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableWideChar, Char, GemFireClassIds::CacheableCharacter >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableDouble, Double, GemFireClassIds::CacheableDouble >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt64, int64_t, GemFireClassIds::CacheableInt64 >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableBoolean, bool, GemFireClassIds::CacheableBoolean >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt16, int16_t, GemFireClassIds::CacheableInt16 >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt32, int32_t, GemFireClassIds::CacheableInt32 >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableBytes, gemfire::CacheableBytesPtr, Byte, GemFireClassIds::CacheableBytes >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt32Array, gemfire::CacheableInt32ArrayPtr, int32_t, GemFireClassIds::CacheableInt32Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt64Array, gemfire::CacheableInt64ArrayPtr, int64_t, GemFireClassIds::CacheableInt64Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CharArray, gemfire::CharArrayPtr, Char, GemFireClassIds::CharArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableFloatArray, gemfire::CacheableFloatArrayPtr, Single, GemFireClassIds::CacheableFloatArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt16Array, gemfire::CacheableInt16ArrayPtr, int16_t, GemFireClassIds::CacheableInt16Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableDoubleArray, gemfire::CacheableDoubleArrayPtr, Double, GemFireClassIds::CacheableDoubleArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::BooleanArray, gemfire::BooleanArrayPtr, bool, GemFireClassIds::BooleanArray >, GemStone::GemFire::Cache::Internal::CacheableHashSetType< GemStone::GemFire::Cache::GemFireClassIds::CacheableHashSet, gemfire::CacheableHashSet >, and GemStone::GemFire::Cache::Internal::CacheableHashSetType< GemStone::GemFire::Cache::GemFireClassIds::CacheableLinkedHashSet, gemfire::CacheableLinkedHashSet >.

String ^ GemStone::GemFire::Cache::IGFSerializable::ToString (  ) 

Return a string representation of the object.

Implemented in GemStone::GemFire::Cache::Template::CacheableBuiltinKey< TNative, TManaged, TYPEID >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< TNative, TNativePtr, TManaged, TYPEID >, GemStone::GemFire::Cache::CacheableDate, GemStone::GemFire::Cache::CacheableFileName, GemStone::GemFire::Cache::CacheableObject, GemStone::GemFire::Cache::CacheableObjectXml, GemStone::GemFire::Cache::CacheableStringArray, GemStone::GemFire::Cache::CacheableString, GemStone::GemFire::Cache::Properties, GemStone::GemFire::Cache::Serializable, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableFloat, Single, GemFireClassIds::CacheableFloat >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableByte, Byte, GemFireClassIds::CacheableByte >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableWideChar, Char, GemFireClassIds::CacheableCharacter >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableDouble, Double, GemFireClassIds::CacheableDouble >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt64, int64_t, GemFireClassIds::CacheableInt64 >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableBoolean, bool, GemFireClassIds::CacheableBoolean >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt16, int16_t, GemFireClassIds::CacheableInt16 >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt32, int32_t, GemFireClassIds::CacheableInt32 >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableBytes, gemfire::CacheableBytesPtr, Byte, GemFireClassIds::CacheableBytes >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt32Array, gemfire::CacheableInt32ArrayPtr, int32_t, GemFireClassIds::CacheableInt32Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt64Array, gemfire::CacheableInt64ArrayPtr, int64_t, GemFireClassIds::CacheableInt64Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CharArray, gemfire::CharArrayPtr, Char, GemFireClassIds::CharArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableFloatArray, gemfire::CacheableFloatArrayPtr, Single, GemFireClassIds::CacheableFloatArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt16Array, gemfire::CacheableInt16ArrayPtr, int16_t, GemFireClassIds::CacheableInt16Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableDoubleArray, gemfire::CacheableDoubleArrayPtr, Double, GemFireClassIds::CacheableDoubleArray >, and GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::BooleanArray, gemfire::BooleanArrayPtr, bool, GemFireClassIds::BooleanArray >.


Property Documentation

uint32_t GemStone::GemFire::Cache::IGFSerializable::ClassId [get]

Returns the classId of the instance being serialized. This is used by deserialization to determine what instance type to create and deserialize into.

The classId must be unique within an application suite and in the range 0 to ((2^31)-1) both inclusive. An application can thus define upto 2^31 custom IGFSerializable classes. Returning a value greater than ((2^31)-1) may result in undefined behaviour.

Returns:
the classId

Implemented in GemStone::GemFire::Cache::CacheableArrayList, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< TNative, TManaged, TYPEID >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< TNative, TNativePtr, TManaged, TYPEID >, GemStone::GemFire::Cache::CacheableDate, GemStone::GemFire::Cache::CacheableFileName, GemStone::GemFire::Cache::CacheableHashMap, GemStone::GemFire::Cache::Internal::CacheableHashSetType< TYPEID, HSTYPE >, GemStone::GemFire::Cache::CacheableHashTable, GemStone::GemFire::Cache::CacheableIdentityHashMap, GemStone::GemFire::Cache::CacheableObject, GemStone::GemFire::Cache::CacheableObjectArray, GemStone::GemFire::Cache::CacheableObjectXml, GemStone::GemFire::Cache::CacheableStack, GemStone::GemFire::Cache::CacheableStringArray, GemStone::GemFire::Cache::CacheableString, GemStone::GemFire::Cache::CacheableUndefined, GemStone::GemFire::Cache::CacheableVector, GemStone::GemFire::Cache::Properties, GemStone::GemFire::Cache::RegionAttributes, GemStone::GemFire::Cache::Serializable, GemStone::GemFire::Cache::UserFunctionExecutionException, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableFloat, Single, GemFireClassIds::CacheableFloat >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableByte, Byte, GemFireClassIds::CacheableByte >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableWideChar, Char, GemFireClassIds::CacheableCharacter >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableDouble, Double, GemFireClassIds::CacheableDouble >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt64, int64_t, GemFireClassIds::CacheableInt64 >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableBoolean, bool, GemFireClassIds::CacheableBoolean >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt16, int16_t, GemFireClassIds::CacheableInt16 >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt32, int32_t, GemFireClassIds::CacheableInt32 >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableBytes, gemfire::CacheableBytesPtr, Byte, GemFireClassIds::CacheableBytes >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt32Array, gemfire::CacheableInt32ArrayPtr, int32_t, GemFireClassIds::CacheableInt32Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt64Array, gemfire::CacheableInt64ArrayPtr, int64_t, GemFireClassIds::CacheableInt64Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CharArray, gemfire::CharArrayPtr, Char, GemFireClassIds::CharArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableFloatArray, gemfire::CacheableFloatArrayPtr, Single, GemFireClassIds::CacheableFloatArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt16Array, gemfire::CacheableInt16ArrayPtr, int16_t, GemFireClassIds::CacheableInt16Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableDoubleArray, gemfire::CacheableDoubleArrayPtr, Double, GemFireClassIds::CacheableDoubleArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::BooleanArray, gemfire::BooleanArrayPtr, bool, GemFireClassIds::BooleanArray >, GemStone::GemFire::Cache::Internal::CacheableHashSetType< GemStone::GemFire::Cache::GemFireClassIds::CacheableHashSet, gemfire::CacheableHashSet >, and GemStone::GemFire::Cache::Internal::CacheableHashSetType< GemStone::GemFire::Cache::GemFireClassIds::CacheableLinkedHashSet, gemfire::CacheableLinkedHashSet >.

uint32_t GemStone::GemFire::Cache::IGFSerializable::ObjectSize [get]

Get the size of this object in bytes. This is only needed if you use the HeapLRU feature.

Note that you can simply return zero if you are not using the HeapLRU feature.

Returns:
the size of this object in bytes.

Implemented in GemStone::GemFire::Cache::Template::CacheableBuiltinKey< TNative, TManaged, TYPEID >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< TNative, TNativePtr, TManaged, TYPEID >, GemStone::GemFire::Cache::CacheableDate, GemStone::GemFire::Cache::CacheableFileName, GemStone::GemFire::Cache::CacheableHashMap, GemStone::GemFire::Cache::Internal::CacheableHashSetType< TYPEID, HSTYPE >, GemStone::GemFire::Cache::CacheableObject, GemStone::GemFire::Cache::CacheableObjectArray, GemStone::GemFire::Cache::CacheableObjectXml, GemStone::GemFire::Cache::CacheableStack, GemStone::GemFire::Cache::CacheableStringArray, GemStone::GemFire::Cache::CacheableString, GemStone::GemFire::Cache::CacheableUndefined, GemStone::GemFire::Cache::CacheableVector, GemStone::GemFire::Cache::Properties, GemStone::GemFire::Cache::RegionAttributes, GemStone::GemFire::Cache::Serializable, GemStone::GemFire::Cache::UserFunctionExecutionException, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableFloat, Single, GemFireClassIds::CacheableFloat >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableByte, Byte, GemFireClassIds::CacheableByte >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableWideChar, Char, GemFireClassIds::CacheableCharacter >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableDouble, Double, GemFireClassIds::CacheableDouble >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt64, int64_t, GemFireClassIds::CacheableInt64 >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableBoolean, bool, GemFireClassIds::CacheableBoolean >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt16, int16_t, GemFireClassIds::CacheableInt16 >, GemStone::GemFire::Cache::Template::CacheableBuiltinKey< gemfire::CacheableInt32, int32_t, GemFireClassIds::CacheableInt32 >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableBytes, gemfire::CacheableBytesPtr, Byte, GemFireClassIds::CacheableBytes >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt32Array, gemfire::CacheableInt32ArrayPtr, int32_t, GemFireClassIds::CacheableInt32Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt64Array, gemfire::CacheableInt64ArrayPtr, int64_t, GemFireClassIds::CacheableInt64Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CharArray, gemfire::CharArrayPtr, Char, GemFireClassIds::CharArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableFloatArray, gemfire::CacheableFloatArrayPtr, Single, GemFireClassIds::CacheableFloatArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableInt16Array, gemfire::CacheableInt16ArrayPtr, int16_t, GemFireClassIds::CacheableInt16Array >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::CacheableDoubleArray, gemfire::CacheableDoubleArrayPtr, Double, GemFireClassIds::CacheableDoubleArray >, GemStone::GemFire::Cache::Template::CacheableBuiltinArray< gemfire::BooleanArray, gemfire::BooleanArrayPtr, bool, GemFireClassIds::BooleanArray >, GemStone::GemFire::Cache::Internal::CacheableHashSetType< GemStone::GemFire::Cache::GemFireClassIds::CacheableHashSet, gemfire::CacheableHashSet >, and GemStone::GemFire::Cache::Internal::CacheableHashSetType< GemStone::GemFire::Cache::GemFireClassIds::CacheableLinkedHashSet, gemfire::CacheableLinkedHashSet >.


GemFire C++ Cache .NET API Documentation