Show / Hide Table of Contents

Class AbstractPofValue

An abstract base class that implements common functionality for all IPofValue types.

Inheritance
object
AbstractPofValue
ComplexPofValue
SimplePofValue
Implements
IPofValue
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Tangosol.IO.Pof.Reflection
Assembly: Coherence.dll
Syntax
public abstract class AbstractPofValue : IPofValue

Constructors

AbstractPofValue(IPofValue, Binary, IPofContext, int, int)

Construct a PofValue instance wrapping the supplied binary.

Declaration
protected AbstractPofValue(IPofValue valueParent, Binary binValue, IPofContext ctx, int of, int nType)
Parameters
Type Name Description
IPofValue valueParent

Parent value within the POF stream.

Binary binValue

Binary representation of this value.

IPofContext ctx

POF context to use when reading or writing properties.

int of

Offset of this value from the beginning of POF stream.

int nType

POF type identifier for this value.

Fields

m_nType

POF type identifer of this value.

Declaration
protected int m_nType
Field Value
Type Description
int

m_oValue

Deserialized representation of this value.

Declaration
protected object m_oValue
Field Value
Type Description
object

Properties

BinaryValue

Return binary representation of this value.

Declaration
protected virtual Binary BinaryValue { get; }
Property Value
Type Description
Binary

Binary representation of this value.

DirtyBytesCount

Get the estimated number of dirty bytes in this POF value hierarchy.

Declaration
protected virtual int DirtyBytesCount { get; }
Property Value
Type Description
int

The number of dirty bytes.

IsDirty

Return true if this value has been modified, false otherwise.

Declaration
public virtual bool IsDirty { get; }
Property Value
Type Description
bool

true if this value has been modified, false otherwise.

IsRoot

Return true if this instance is the root of the IPofValue hierarchy.

Declaration
protected virtual bool IsRoot { get; }
Property Value
Type Description
bool

true if this is the root value.

IsUniformEncoded

Return true if the buffer contains only the value, without the type identifier.

Declaration
protected virtual bool IsUniformEncoded { get; }
Property Value
Type Description
bool

true if the buffer contains only the value.

Offset

Return the offset of this value from the beginning of POF stream.

Declaration
public virtual int Offset { get; }
Property Value
Type Description
int

The offset of this value from the beginning of POF stream.

Parent

Return the parent of this value.

Declaration
public virtual IPofValue Parent { get; }
Property Value
Type Description
IPofValue

The parent value, or null if this is the root value.

PofContext

Return the POF context to use for serialization and deserialization.

Declaration
public virtual IPofContext PofContext { get; }
Property Value
Type Description
IPofContext

The POF context.

Root

Return the root of the hierarchy this value belongs to.

Declaration
public virtual IPofValue Root { get; }
Property Value
Type Description
IPofValue

The root value.

Size

Return the size of the encoded value in bytes.

Declaration
public virtual int Size { get; }
Property Value
Type Description
int

The size of the encoded value.

TypeId

Obtain the POF type identifier for this value.

Declaration
public virtual int TypeId { get; }
Property Value
Type Description
int

POF type identifier for this value.

Methods

ApplyChanges()

Apply all the changes that were made to this value and return a binary representation of the new value.

Declaration
public virtual Binary ApplyChanges()
Returns
Type Description
Binary

New Binary object that contains modified PofValue.

Remarks

Any format prefixes and/or decorations that were present in the original buffer this value orginated from will be preserved.

Note: This method can only be called on the root PofValue.
Exceptions
Type Condition
NotSupportedException

If called on a non-root PofValue.

EnsureReferenceRegistry()

Obtain the registry for identity-reference pairs, creating it if necessary.

Declaration
protected virtual ILongArray EnsureReferenceRegistry()
Returns
Type Description
ILongArray

The identity-reference registry, never null.

GetBoolean()

Return the Boolean which this IPofValue represents.

Declaration
public virtual bool GetBoolean()
Returns
Type Description
bool

The Boolean value.

GetBooleanArray()

Return the Boolean[] which this IPofValue represents.

Declaration
public virtual bool[] GetBooleanArray()
Returns
Type Description
bool[]

The Boolean[] value.

GetByte()

Return the Byte which this IPofValue represents.

Declaration
public virtual byte GetByte()
Returns
Type Description
byte

The Byte value.

GetByteArray()

Return the Byte[] which this IPofValue represents.

Declaration
public virtual byte[] GetByteArray()
Returns
Type Description
byte[]

The Byte[] value.

GetChanges()

Return a binary containing changes made to this IPofValue in the format defined by the BinaryDeltaCompressor.

Declaration
public virtual Binary GetChanges()
Returns
Type Description
Binary

A binary containing changes made to this IPofValue.

Remarks

Note: This method can only be called on the root IPofValue.

Exceptions
Type Condition
NotSupportedException

If called on a non-root IPofValue.

GetChar()

Return the Char which this IPofValue represents.

Declaration
public virtual char GetChar()
Returns
Type Description
char

The Char value.

GetCharArray()

Return the Char[] which this IPofValue represents.

Declaration
public virtual char[] GetCharArray()
Returns
Type Description
char[]

The Char[] value.

GetChild(int)

Locate a child IPofValue contained within this IPofValue.

Declaration
public abstract IPofValue GetChild(int nIndex)
Parameters
Type Name Description
int nIndex

The index of the child value.

Returns
Type Description
IPofValue

The child IPofValue.

Remarks

The returned IPofValue could represent a non-existent (null) value.

Exceptions
Type Condition
PofNavigationException

If this value is a "terminal" or the child value cannot be located for any other reason.

GetCollection(ICollection)

Return an ICollection of object values which this IPofValue represents.

Declaration
public virtual ICollection GetCollection(ICollection coll)
Parameters
Type Name Description
ICollection coll

The optional ICollection to use to store the values.

Returns
Type Description
ICollection

An ICollection of object values.

GetCollection<T>(ICollection<T>)

Return an ICollection<T> of object values which this IPofValue represents.

Declaration
public virtual ICollection<T> GetCollection<T>(ICollection<T> coll)
Parameters
Type Name Description
ICollection<T> coll

The optional ICollection<T> to use to store the values.

Returns
Type Description
ICollection<T>

An ICollection<T> of object values.

Type Parameters
Name Description
T

The type of the elements in the collection.

GetDate()

Return the DateTime which this IPofValue represents.

Declaration
public virtual DateTime GetDate()
Returns
Type Description
DateTime

The DateTime value.

Remarks

This method will return only the date component. It will ignore the time component if present and initialize the time-related fields of the return value to their default values.

GetDateTime()

Return the DateTime which this IPofValue represents.

Declaration
public virtual DateTime GetDateTime()
Returns
Type Description
DateTime

The DateTime value.

GetDayTimeInterval()

Return the TimeSpan which this IPofValue represents.

Declaration
public virtual TimeSpan GetDayTimeInterval()
Returns
Type Description
TimeSpan

The TimeSpan value.

GetDecimal()

Return the Decimal which this IPofValue represents.

Declaration
public virtual decimal GetDecimal()
Returns
Type Description
decimal

The Decimal value.

GetDictionary(IDictionary)

Return an IDictionary of key/value pairs which this IPofValue represents.

Declaration
public virtual IDictionary GetDictionary(IDictionary dict)
Parameters
Type Name Description
IDictionary dict

The optional IDictionary to use to store the key/value pairs.

Returns
Type Description
IDictionary

An IDictionary of key/value pairs.

GetDictionary<TKey, TValue>(IDictionary<TKey, TValue>)

Read an IDictionar<TKey, TValue>y of key/value pairs which this IPofValue represents.

Declaration
public virtual IDictionary<TKey, TValue> GetDictionary<TKey, TValue>(IDictionary<TKey, TValue> dict)
Parameters
Type Name Description
IDictionary<TKey, TValue> dict

The optional IDictionary<TKey, TValue> use to store the key/value pairs.

Returns
Type Description
IDictionary<TKey, TValue>

An IDictionary<TKey, TValue> of key/value pairs.

Type Parameters
Name Description
TKey

The key type of the IDictionary<TKey, TValue>.

TValue

The value type of the IDictionary<TKey, TValue>.

GetDouble()

Return the Double which this IPofValue represents.

Declaration
public virtual double GetDouble()
Returns
Type Description
double

The Double value.

GetDoubleArray()

Return the Double[] which this IPofValue represents.

Declaration
public virtual double[] GetDoubleArray()
Returns
Type Description
double[]

The Double[] value.

GetInt16()

Return the Int16 which this IPofValue represents.

Declaration
public virtual short GetInt16()
Returns
Type Description
short

The Int16 value.

GetInt16Array()

Return the Int16[] which this IPofValue represents.

Declaration
public virtual short[] GetInt16Array()
Returns
Type Description
short[]

The Int16[] value.

GetInt32()

Return the Int32 which this IPofValue represents.

Declaration
public virtual int GetInt32()
Returns
Type Description
int

The Int32 value.

GetInt32Array()

Return the Int32[] which this IPofValue represents.

Declaration
public virtual int[] GetInt32Array()
Returns
Type Description
int[]

The Int32[] value.

GetInt64()

Return the Int64 which this IPofValue represents.

Declaration
public virtual long GetInt64()
Returns
Type Description
long

The Int64 value.

GetInt64Array()

Return the Int64[] which this IPofValue represents.

Declaration
public virtual long[] GetInt64Array()
Returns
Type Description
long[]

The Int64[] value.

GetSerializedValue()

Return this value's serialized form.

Declaration
public virtual Binary GetSerializedValue()
Returns
Type Description
Binary

This value's serialized form.

GetSingle()

Return the Single which this IPofValue represents.

Declaration
public virtual float GetSingle()
Returns
Type Description
float

The Single value.

GetSingleArray()

Return the Single[] which this IPofValue represents.

Declaration
public virtual float[] GetSingleArray()
Returns
Type Description
float[]

The Single[] value.

GetString()

Return the String which this IPofValue represents.

Declaration
public virtual string GetString()
Returns
Type Description
string

The String value.

GetValue()

Return the deserialized value which this IPofValue represents.

Declaration
public virtual object GetValue()
Returns
Type Description
object

The deserialized value.

GetValue(int)

Return the deserialized value which this IPofValue represents.

Declaration
public virtual object GetValue(int typeId)
Parameters
Type Name Description
int typeId

The required Pof type of the returned value or T_UNKNOWN if the type is to be inferred from the serialized state.

Returns
Type Description
object

The deserialized value.

Exceptions
Type Condition
InvalidCastException

If the value is incompatible with the specified type.

GetValue(Type)

Return the deserialized value which this IPofValue represents.

Declaration
public virtual object GetValue(Type type)
Parameters
Type Name Description
Type type

The required type of the returned value or null if the type is to be inferred from the serialized state.

Returns
Type Description
object

The deserialized value.

Exceptions
Type Condition
InvalidCastException

If the value is incompatible with the specified type.

IncrementDirtyBytesCount(int)

Increment the counter representing the estimated number of bytes in the original buffer that have been modified.

Declaration
protected virtual void IncrementDirtyBytesCount(int cb)
Parameters
Type Name Description
int cb

The number of bytes to increment counter for.

IncrementDirtyValuesCount()

Increment the counter representing the number of values within this POF hierarchy that have been modified.

Declaration
protected virtual void IncrementDirtyValuesCount()

LookupIdentity(int)

Look up the specified identity and return the object to which it refers.

Declaration
protected IPofValue LookupIdentity(int id)
Parameters
Type Name Description
int id

The identity.

Returns
Type Description
IPofValue

The object registered under that identity.

Exceptions
Type Condition
IOException

If the requested identity is not registered.

RegisterIdentity(int, object)

Register the passed value with the passed identity.

Declaration
protected void RegisterIdentity(int id, object value)
Parameters
Type Name Description
int id

The identity.

object value

The object registerd under the passed identity.

Exceptions
Type Condition
ArgumentException

If the specified identity is already registered with a different object.

SetDirty()

Set the dirty flag for this value.

Declaration
protected virtual void SetDirty()

SetUniformEncoded()

Specifies that the buffer contains only a value, without a type identifier.

Declaration
protected virtual void SetUniformEncoded()

SetValue(object)

Update this PofValue.

Declaration
public virtual void SetValue(object oValue)
Parameters
Type Name Description
object oValue

New deserialized value for this IPofValue.

Remarks

The changes made using this method will be immediately reflected in the result of GetValue() method, but will not be applied to the underlying POF stream until the ApplyChanges() method is invoked on the root IPofValue.

Implements

IPofValue
In this article
Back to top Copyright © 2000, 2024, Oracle and/or its affiliates.