Inherited by GemStone::GemFire::Cache::Generic::CacheableDate, GemStone::GemFire::Cache::Generic::CacheableFileName, and GemStone::GemFire::Cache::Generic::CacheableKey.
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) |
IGFSerializable^ | FromData (DataInput^ input) |
int32_t | GetHashCode () |
void | ToData (DataOutput^ output) |
String^ | ToString () |
Properties | |
uint32_t | ClassId [get] |
uint32_t | ObjectSize [get] |
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.
input | the DataInput stream to use for reading the object data |
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.
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.
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^ >.
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.
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.
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^ >.