GemStone::GemFire::Cache::Generic::ICacheableKey Interface Reference

Inherits GemStone::GemFire::Cache::Generic::IGFSerializable.

Inherited by GemStone::GemFire::Cache::Generic::CacheableDate, GemStone::GemFire::Cache::Generic::CacheableFileName, and GemStone::GemFire::Cache::Generic::CacheableKey.


Detailed Description

This interface class is the superclass of all user objects in the cache that can be used as a key.

If an implementation is required to act as a key in the cache, then it must implement this interface and preferably override System.Object.ToString to obtain proper string representation. Note that this interface requires that the class overrides Object.GetHashCode. Though this is not enforced, the default implementation in System.Object is almost certainly incorrect and will not work correctly.

Public Member Functions

bool Equals (ICacheableKey^ other)
IGFSerializableFromData (DataInput^ input)
int32_t GetHashCode ()
void ToData (DataOutput^ output)
String^ ToString ()

Properties

uint32_t ClassId [get]
uint32_t ObjectSize [get]


Member Function Documentation

bool GemStone::GemFire::Cache::Generic::ICacheableKey::Equals ( ICacheableKey^   other  ) 

Returns true if this ICacheableKey matches the other.

Implemented in GemStone::GemFire::Cache::Generic::CacheableBuiltinKey< TNative, TManaged, TYPEID >, GemStone::GemFire::Cache::Generic::CacheableDate, GemStone::GemFire::Cache::Generic::CacheableFileName, GemStone::GemFire::Cache::Generic::CacheableKey, GemStone::GemFire::Cache::Generic::CacheableString, GemStone::GemFire::Cache::Generic::CacheableBuiltinKey< gemfire::CacheableFloat, Single, GemFireClassIds::CacheableFloat >, GemStone::GemFire::Cache::Generic::CacheableBuiltinKey< gemfire::CacheableByte, Byte, GemFireClassIds::CacheableByte >, GemStone::GemFire::Cache::Generic::CacheableBuiltinKey< gemfire::CacheableWideChar, Char, GemFireClassIds::CacheableCharacter >, GemStone::GemFire::Cache::Generic::CacheableBuiltinKey< gemfire::CacheableDouble, Double, GemFireClassIds::CacheableDouble >, GemStone::GemFire::Cache::Generic::CacheableBuiltinKey< gemfire::CacheableInt64, int64_t, GemFireClassIds::CacheableInt64 >, GemStone::GemFire::Cache::Generic::CacheableBuiltinKey< gemfire::CacheableBoolean, bool, GemFireClassIds::CacheableBoolean >, GemStone::GemFire::Cache::Generic::CacheableBuiltinKey< gemfire::CacheableInt16, int16_t, GemFireClassIds::CacheableInt16 >, and GemStone::GemFire::Cache::Generic::CacheableBuiltinKey< gemfire::CacheableInt32, int32_t, GemFireClassIds::CacheableInt32 >.

IGFSerializable ^ GemStone::GemFire::Cache::Generic::IGFSerializable::FromData ( DataInput^   input  )  [inherited]

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::Generic::CacheableBuiltinArray< TNative, TNativePtr, TManaged, TYPEID >, GemStone::GemFire::Cache::Generic::CacheableDate, GemStone::GemFire::Cache::Generic::CacheableFileName, GemStone::GemFire::Cache::Generic::CacheableHashMap, GemStone::GemFire::Cache::Generic::Internal::CacheableHashSetType< TYPEID, HSTYPE >, GemStone::GemFire::Cache::Generic::CacheableHashTable, GemStone::GemFire::Cache::Generic::CacheableLinkedList, GemStone::GemFire::Cache::Generic::CacheableObjectArray, GemStone::GemFire::Cache::Generic::CacheableObject, GemStone::GemFire::Cache::Generic::CacheableObjectXml, GemStone::GemFire::Cache::Generic::CacheableStack, GemStone::GemFire::Cache::Generic::CacheableStringArray, GemStone::GemFire::Cache::Generic::CacheableString, GemStone::GemFire::Cache::Generic::CacheableUndefined, GemStone::GemFire::Cache::Generic::CacheableVector, GemStone::GemFire::Cache::Generic::Properties< TPropKey, TPropValue >, GemStone::GemFire::Cache::Generic::RegionAttributes< TKey, TValue >, GemStone::GemFire::Cache::Generic::Serializable, GemStone::GemFire::Cache::Generic::UserFunctionExecutionException, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableBytes, gemfire::CacheableBytesPtr, Byte, GemFireClassIds::CacheableBytes >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableInt32Array, gemfire::CacheableInt32ArrayPtr, int32_t, GemFireClassIds::CacheableInt32Array >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CharArray, gemfire::CharArrayPtr, Char, GemFireClassIds::CharArray >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableInt64Array, gemfire::CacheableInt64ArrayPtr, int64_t, GemFireClassIds::CacheableInt64Array >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableFloatArray, gemfire::CacheableFloatArrayPtr, Single, GemFireClassIds::CacheableFloatArray >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableInt16Array, gemfire::CacheableInt16ArrayPtr, int16_t, GemFireClassIds::CacheableInt16Array >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableDoubleArray, gemfire::CacheableDoubleArrayPtr, Double, GemFireClassIds::CacheableDoubleArray >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::BooleanArray, gemfire::BooleanArrayPtr, bool, GemFireClassIds::BooleanArray >, GemStone::GemFire::Cache::Generic::Internal::CacheableHashSetType< GemStone::GemFire::Cache::Generic::GemFireClassIds::CacheableHashSet, gemfire::CacheableHashSet >, GemStone::GemFire::Cache::Generic::Internal::CacheableHashSetType< GemStone::GemFire::Cache::Generic::GemFireClassIds::CacheableLinkedHashSet, gemfire::CacheableLinkedHashSet >, and GemStone::GemFire::Cache::Generic::Properties< String^ , String^ >.

int32_t GemStone::GemFire::Cache::Generic::ICacheableKey::GetHashCode (  ) 

Get the hash code for this object. This is used in the internal hash tables and so must have a nice distribution pattern.

Returns:
The hashcode for this object.

Implemented in GemStone::GemFire::Cache::Generic::CacheableDate, GemStone::GemFire::Cache::Generic::CacheableFileName, GemStone::GemFire::Cache::Generic::CacheableKey, and GemStone::GemFire::Cache::Generic::CacheableString.

void GemStone::GemFire::Cache::Generic::IGFSerializable::ToData ( DataOutput^   output  )  [inherited]

Serializes this object.

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

Implemented in GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< TNative, TNativePtr, TManaged, TYPEID >, GemStone::GemFire::Cache::Generic::CacheableDate, GemStone::GemFire::Cache::Generic::CacheableFileName, GemStone::GemFire::Cache::Generic::CacheableHashMap, GemStone::GemFire::Cache::Generic::Internal::CacheableHashSetType< TYPEID, HSTYPE >, GemStone::GemFire::Cache::Generic::CacheableLinkedList, GemStone::GemFire::Cache::Generic::CacheableObjectArray, GemStone::GemFire::Cache::Generic::CacheableObject, GemStone::GemFire::Cache::Generic::CacheableObjectXml, GemStone::GemFire::Cache::Generic::CacheableStack, GemStone::GemFire::Cache::Generic::CacheableStringArray, GemStone::GemFire::Cache::Generic::CacheableString, GemStone::GemFire::Cache::Generic::CacheableUndefined, GemStone::GemFire::Cache::Generic::CacheableVector, GemStone::GemFire::Cache::Generic::Properties< TPropKey, TPropValue >, GemStone::GemFire::Cache::Generic::RegionAttributes< TKey, TValue >, GemStone::GemFire::Cache::Generic::Serializable, GemStone::GemFire::Cache::Generic::UserFunctionExecutionException, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableBytes, gemfire::CacheableBytesPtr, Byte, GemFireClassIds::CacheableBytes >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableInt32Array, gemfire::CacheableInt32ArrayPtr, int32_t, GemFireClassIds::CacheableInt32Array >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CharArray, gemfire::CharArrayPtr, Char, GemFireClassIds::CharArray >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableInt64Array, gemfire::CacheableInt64ArrayPtr, int64_t, GemFireClassIds::CacheableInt64Array >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableFloatArray, gemfire::CacheableFloatArrayPtr, Single, GemFireClassIds::CacheableFloatArray >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableInt16Array, gemfire::CacheableInt16ArrayPtr, int16_t, GemFireClassIds::CacheableInt16Array >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableDoubleArray, gemfire::CacheableDoubleArrayPtr, Double, GemFireClassIds::CacheableDoubleArray >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::BooleanArray, gemfire::BooleanArrayPtr, bool, GemFireClassIds::BooleanArray >, GemStone::GemFire::Cache::Generic::Internal::CacheableHashSetType< GemStone::GemFire::Cache::Generic::GemFireClassIds::CacheableHashSet, gemfire::CacheableHashSet >, GemStone::GemFire::Cache::Generic::Internal::CacheableHashSetType< GemStone::GemFire::Cache::Generic::GemFireClassIds::CacheableLinkedHashSet, gemfire::CacheableLinkedHashSet >, and GemStone::GemFire::Cache::Generic::Properties< String^ , String^ >.

String ^ GemStone::GemFire::Cache::Generic::IGFSerializable::ToString (  )  [inherited]

Return a string representation of the object.

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


Property Documentation

uint32_t GemStone::GemFire::Cache::Generic::IGFSerializable::ClassId [get, inherited]

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

uint32_t GemStone::GemFire::Cache::Generic::IGFSerializable::ObjectSize [get, inherited]

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::Generic::CacheableBuiltinArray< TNative, TNativePtr, TManaged, TYPEID >, GemStone::GemFire::Cache::Generic::CacheableDate, GemStone::GemFire::Cache::Generic::CacheableFileName, GemStone::GemFire::Cache::Generic::CacheableHashMap, GemStone::GemFire::Cache::Generic::Internal::CacheableHashSetType< TYPEID, HSTYPE >, GemStone::GemFire::Cache::Generic::CacheableLinkedList, GemStone::GemFire::Cache::Generic::CacheableObjectArray, GemStone::GemFire::Cache::Generic::CacheableObject, GemStone::GemFire::Cache::Generic::CacheableObjectXml, GemStone::GemFire::Cache::Generic::CacheableStack, GemStone::GemFire::Cache::Generic::CacheableStringArray, GemStone::GemFire::Cache::Generic::CacheableString, GemStone::GemFire::Cache::Generic::CacheableUndefined, GemStone::GemFire::Cache::Generic::CacheableVector, GemStone::GemFire::Cache::Generic::Properties< TPropKey, TPropValue >, GemStone::GemFire::Cache::Generic::RegionAttributes< TKey, TValue >, GemStone::GemFire::Cache::Generic::Serializable, GemStone::GemFire::Cache::Generic::UserFunctionExecutionException, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableBytes, gemfire::CacheableBytesPtr, Byte, GemFireClassIds::CacheableBytes >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableInt32Array, gemfire::CacheableInt32ArrayPtr, int32_t, GemFireClassIds::CacheableInt32Array >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CharArray, gemfire::CharArrayPtr, Char, GemFireClassIds::CharArray >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableInt64Array, gemfire::CacheableInt64ArrayPtr, int64_t, GemFireClassIds::CacheableInt64Array >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableFloatArray, gemfire::CacheableFloatArrayPtr, Single, GemFireClassIds::CacheableFloatArray >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableInt16Array, gemfire::CacheableInt16ArrayPtr, int16_t, GemFireClassIds::CacheableInt16Array >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::CacheableDoubleArray, gemfire::CacheableDoubleArrayPtr, Double, GemFireClassIds::CacheableDoubleArray >, GemStone::GemFire::Cache::Generic::CacheableBuiltinArray< gemfire::BooleanArray, gemfire::BooleanArrayPtr, bool, GemFireClassIds::BooleanArray >, GemStone::GemFire::Cache::Generic::Internal::CacheableHashSetType< GemStone::GemFire::Cache::Generic::GemFireClassIds::CacheableHashSet, gemfire::CacheableHashSet >, GemStone::GemFire::Cache::Generic::Internal::CacheableHashSetType< GemStone::GemFire::Cache::Generic::GemFireClassIds::CacheableLinkedHashSet, gemfire::CacheableLinkedHashSet >, and GemStone::GemFire::Cache::Generic::Properties< String^ , String^ >.


GemFire C++ Cache .NET API Documentation