Apache Geode Native .NET Reference 1.15.0
Apache::Geode::Client::ICacheableKey Interface Reference

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

#include <ICacheableKey.hpp>

Inherits Apache::Geode::Client::ISerializable.

Inherited by Apache::Geode::Client::CacheableDate, Apache::Geode::Client::CacheableFileName, and Apache::Geode::Client::CacheableKey.

Public Member Functions

bool Equals (ICacheableKey^ other)
 Returns true if this ICacheableKey matches the other. More...
 
System::Int32 GetHashCode ()
 Get the hash code for this object. More...
 
String ^ ToString ()
 Return a string representation of the object. More...
 

Properties

System::UInt64 ObjectSize [get]
 Get the size of this object in bytes. More...
 

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.

Member Function Documentation

◆ Equals()

◆ GetHashCode()

System::Int32 Apache::Geode::Client::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 Apache::Geode::Client::CacheableDate, Apache::Geode::Client::CacheableFileName, Apache::Geode::Client::CacheableKey, and Apache::Geode::Client::CacheableString.

◆ ToString()

String ^ Apache::Geode::Client::ISerializable::ToString ( )
inherited

Return a string representation of the object.

Implemented in Apache::Geode::Client::CacheableBuiltinKey< TNative, TManaged, TYPEID >, Apache::Geode::Client::CacheableBuiltinKey< native::CacheableBoolean, bool, static_cast< int8_t >(DSCode::CacheableBoolean)>, Apache::Geode::Client::CacheableBuiltinKey< native::CacheableByte, Byte, static_cast< int8_t >(DSCode::CacheableByte)>, Apache::Geode::Client::CacheableBuiltinKey< native::CacheableCharacter, Char, static_cast< int8_t >(DSCode::CacheableCharacter)>, Apache::Geode::Client::CacheableBuiltinKey< native::CacheableDouble, Double, static_cast< int8_t >(DSCode::CacheableDouble)>, Apache::Geode::Client::CacheableBuiltinKey< native::CacheableFloat, Single, static_cast< int8_t >(DSCode::CacheableFloat)>, Apache::Geode::Client::CacheableBuiltinKey< native::CacheableInt16, System::Int16, static_cast< int8_t >(DSCode::CacheableInt16)>, Apache::Geode::Client::CacheableBuiltinKey< native::CacheableInt32, System::Int32, static_cast< int8_t >(DSCode::CacheableInt32)>, Apache::Geode::Client::CacheableBuiltinKey< native::CacheableInt64, System::Int64, static_cast< int8_t >(DSCode::CacheableInt64)>, Apache::Geode::Client::CacheableBuiltinArray< TNative, TNativePtr, TManaged, TYPEID >, Apache::Geode::Client::CacheableBuiltinArray< NativeArray, NativeArray, ManagedType, DsCode >, Apache::Geode::Client::CacheableDate, Apache::Geode::Client::CacheableFileName, Apache::Geode::Client::CacheableObject, Apache::Geode::Client::CacheableObjectXml, Apache::Geode::Client::CacheableString, Apache::Geode::Client::CacheableStringArray, Apache::Geode::Client::Properties< TPropKey, TPropValue >, Apache::Geode::Client::Properties< String^, String^>, and Apache::Geode::Client::Serializable.

Property Documentation

◆ ObjectSize

System:: UInt64 Apache::Geode::Client::ISerializable::ObjectSize
getinherited

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.

Apache Geode C++ Cache .NET API Documentation