GemStone::GemFire::Cache::CacheableObject Class Reference

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


Detailed Description

An mutable generic System.Object wrapper that can serve as a distributable value for caching.

This class can serialize any class which has either the [Serializable] attribute set or implements System.Runtime.Serialization.ISerializable interface. However, for better efficiency the latter should be avoided and the user should implement IGFSerializable instead.

The user must keep in mind that the rules that apply to runtime serialization would be the rules that apply to this class. For the serialization will be carried out by serializing all the members (public/private/protected) of the class. Each of the contained classes should also have either the [Serializable] attribute set or implement ISerializable interface.

Public Member Functions

virtual IGFSerializableFromData (DataInput^ input)
virtual void ToData (DataOutput^ output)
virtual String^ ToString () override

Static Public Member Functions

static CacheableObjectCreate (Object^ value)
static IGFSerializableCreateDeserializable ()

Properties

virtual uint32_t ClassId [get]
virtual uint32_t ObjectSize [get]
Object^  Value [get]


Member Function Documentation

static CacheableObject ^ GemStone::GemFire::Cache::CacheableObject::Create ( Object^   value  )  [inline, static]

Static function to create a new instance from the given object.

If the given object is null then this method returns null.

static IGFSerializable ^ GemStone::GemFire::Cache::CacheableObject::CreateDeserializable (  )  [inline, static]

Factory function to register this class.

virtual IGFSerializable ^ GemStone::GemFire::Cache::CacheableObject::FromData ( DataInput^   input  )  [virtual]

Deserializes the System.Object using System.Runtime.Serialization.Formatters.Binary.BinaryFormatter class.

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

Implements GemStone::GemFire::Cache::IGFSerializable.

virtual void GemStone::GemFire::Cache::CacheableObject::ToData ( DataOutput^   output  )  [virtual]

Serializes this System.Object using System.Runtime.Serialization.Formatters.Binary.BinaryFormatter class.

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

Implements GemStone::GemFire::Cache::IGFSerializable.

virtual String ^ GemStone::GemFire::Cache::CacheableObject::ToString (  )  [inline, override, virtual]

Return a string representation of the object.

Implements GemStone::GemFire::Cache::IGFSerializable.


Property Documentation

virtual uint32_t GemStone::GemFire::Cache::CacheableObject::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.

Returns:
the classId

Implements GemStone::GemFire::Cache::IGFSerializable.

virtual uint32_t GemStone::GemFire::Cache::CacheableObject::ObjectSize [get]

return the size of this object in bytes

Implements GemStone::GemFire::Cache::IGFSerializable.

Object^ GemStone::GemFire::Cache::CacheableObject::Value [get]

Gets the object value.

The user can modify the object and the changes shall be reflected immediately in the local cache. For this change to be propagate to other members of the distributed system, the object needs to be put into the cache.


GemFire C++ Cache .NET API Documentation