GemStone::GemFire::Cache::IGFDelta Interface Reference


Detailed Description

This interface is used for delta propagation. To use delta propagation, an application class must implement interfaces IGFDelta as well as IGFSerializable. The IGFDelta interface methods HasDelta( ), ToDelta( ) and FromDelta( ) must be implemented by the class, as these methods are used by GemFire to detect the presence of delta in an object, to serialize the delta, and to apply a serialized delta to an existing object of the class. If a customized cloning method is required, the class must also implement the interface System.ICloneable. To use cloning in delta propagation for a region, the region attribute for cloning must be enabled.

Public Member Functions

void FromDelta (DataInput^ in)
bool HasDelta ()
void ToDelta (DataOutput^ out)

Member Function Documentation

void GemStone::GemFire::Cache::IGFDelta::FromDelta ( DataInput^   in  ) 

Reads in delta information to this object in a user-defined format. This is invoked on an existing application object after GemFire determines the presence of delta in DataInput instance.

Exceptions:
InvalidDeltaException if the delta in the DataInput instance cannot be applied to this instance (possible causes may include mismatch of Delta version or logic error).
GemFireIOException 

bool GemStone::GemFire::Cache::IGFDelta::HasDelta (  ) 

HasDelta( ) is invoked by GemFire during Region.Put( ICacheableKey, IGFSerializable ) to determine if the object contains a delta. If HasDelta( ) returns true, the delta in the object is serialized by invoking ToDelta( DataOutput ). If HasDelta( ) returns false, the object is serialized by invoking IGFSerializable.ToData( DataOutput ).

void GemStone::GemFire::Cache::IGFDelta::ToDelta ( DataOutput^   out  ) 

Writes out delta information to out in a user-defined format. This is invoked on an application object after GemFire determines the presence of delta in it by calling HasDelta() on the object.

Exceptions:
GemFireIOException 


GemFire C++ Cache .NET API Documentation