Class PofStreamReader
IPofReader implementation that reads POF-encoded data from a DataReader.
Implements
Inherited Members
Namespace: Tangosol.IO.Pof
Assembly: Coherence.dll
Syntax
public class PofStreamReader : IPofReader
Constructors
PofStreamReader()
Construct a POF parser.
Declaration
protected PofStreamReader()
PofStreamReader(DataReader, IPofContext)
Construct a POF parser that will pull values from the specified stream.
Declaration
public PofStreamReader(DataReader reader, IPofContext ctx)
Parameters
Type | Name | Description |
---|---|---|
DataReader | reader | A DataReader object. |
IPofContext | ctx | The IPofContext. |
Fields
m_ctx
The IPofContext to use to realize user data types as .NET objects.
Declaration
protected IPofContext m_ctx
Field Value
Type | Description |
---|---|
IPofContext |
m_reader
The DataReader containing the POF stream.
Declaration
protected DataReader m_reader
Field Value
Type | Description |
---|---|
DataReader |
m_referenceMap
Lazily-constructed mapping of identities to references.
Declaration
protected ILongArray m_referenceMap
Field Value
Type | Description |
---|---|
ILongArray |
Properties
ParentParser
If this parser is contextually within a user type, obtain the parser which created this parser in order to parse the user type.
Declaration
protected virtual PofStreamReader ParentParser { get; }
Property Value
Type | Description |
---|---|
PofStreamReader | The parser for the context within which this parser is operating. |
PofContext
Gets or sets the IPofContext object used by this PofStreamReader to deserialize user types from a POF stream.
Declaration
public virtual IPofContext PofContext { get; set; }
Property Value
Type | Description |
---|---|
IPofContext | The IPofContext object that contains user type meta-data. |
Remarks
This is an advanced propertie that should be used with care. For example, if this method is being used to switch to another IPofContext mid-POF stream, it is important to eventually restore the original IPofContext. For example:
IPofContext ctxOrig = reader.PofContext; try { // switch to another IPofContext reader.PofContext = ...; // read POF data using the reader } finally { // restore the original PofContext reader.PofContext = ctxOrig; }
UserTypeId
Gets the user type that is currently being parsed.
Declaration
public virtual int UserTypeId { get; }
Property Value
Type | Description |
---|---|
int | The user type information, or -1 if the PofStreamReader is not currently parsing a user type. |
VersionId
Gets the version identifier of the user type that is currently being parsed.
Declaration
public virtual int VersionId { get; }
Property Value
Type | Description |
---|---|
int | The integer version ID read from the POF stream; always non-negative. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If no user type is being parsed. |
Methods
AdvanceTo(int)
Advance through the POF stream until the specified property is found.
Declaration
protected virtual bool AdvanceTo(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the property to advance to. |
Returns
Type | Description |
---|---|
bool | true if the property is found. |
Remarks
If the property is found, return true, otherwise return false and advance to the first property that follows the specified property.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | if the POF stream has already advanced past the desired property. |
Complete(int)
Register the completion of the parsing of a value.
Declaration
protected virtual void Complete(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index. |
Exceptions
Type | Condition |
---|---|
IOException | If an I/O error occurs. |
CreateNestedPofReader(int)
Obtain a PofReader that can be used to read a set of properties from a single property of the current user type. The returned PofReader is only valid from the time that it is returned until the next call is made to this PofReader.
Declaration
public virtual IPofReader CreateNestedPofReader(int iProp)
Parameters
Type | Name | Description |
---|---|---|
int | iProp | the property index to read from |
Returns
Type | Description |
---|---|
IPofReader | a PofReader that reads its contents from a single property of this PofReader |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property, or if no user type is being parsed. |
IOException | if an I/O error occurs |
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 |
LookupIdentity(int)
Look up the specified identity and return the object to which it refers.
Declaration
protected virtual object LookupIdentity(int id)
Parameters
Type | Name | Description |
---|---|---|
int | id | The identity. |
Returns
Type | Description |
---|---|
object | The object registered under that identity. |
Exceptions
Type | Condition |
---|---|
IOException | If the requested identity is not registered. |
ReadArray(int)
Read an array of object values.
Declaration
public virtual Array ReadArray(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
Array | An array of object values, or |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadArray(int, Array)
Read an array of object values.
Declaration
public virtual Array ReadArray(int index, Array array)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Array | array | The optional array to use to store the values, or to use as a typed template for creating an array to store the values, following the documentation for ArrayList.ToArray. |
Returns
Type | Description |
---|---|
Array | An array of object values, or |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadAsArray(int, Array)
Read a POF value as a typed object array.
Declaration
protected virtual Array ReadAsArray(int typeId, Array array)
Parameters
Type | Name | Description |
---|---|---|
int | typeId | The type identifier of the value. |
Array | array | The optional array to use to store the values, or to use as a typed template for creating an array to store the values. |
Returns
Type | Description |
---|---|
Array | A typed object array. |
Exceptions
Type | Condition |
---|---|
IOException | If an I/O error occurs. |
ReadAsObject(int)
Read a POF value as an Object.
Declaration
protected virtual object ReadAsObject(int typeId)
Parameters
Type | Name | Description |
---|---|---|
int | typeId | The type identifier of the value. |
Returns
Type | Description |
---|---|
object | An Object value. |
Exceptions
Type | Condition |
---|---|
IOException | If an I/O error occurs. |
ReadAsUniformObject(int)
Read a POF value in a uniform array/map as an Object.
Declaration
protected object ReadAsUniformObject(int typeId)
Parameters
Type | Name | Description |
---|---|---|
int | typeId | The type identifier of the value. |
Returns
Type | Description |
---|---|
object | An Object value. |
ReadBinary(int)
Read a Binary from the POF stream.
Declaration
public virtual Binary ReadBinary(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
Binary | The Binary property value, or |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadBinary(DataReader)
Read a Binary object from the specified DataReader in an optimal way.
Declaration
protected static Binary ReadBinary(DataReader reader)
Parameters
Type | Name | Description |
---|---|---|
DataReader | reader | A DataReader to read from. |
Returns
Type | Description |
---|---|
Binary | The Binary data. |
ReadBoolean(int)
Read a Boolean property from the POF stream.
Declaration
public virtual bool ReadBoolean(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
bool | The Boolean property value, or zero if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadBooleanArray(int)
Read a Boolean[] property from the POF stream.
Declaration
public virtual bool[] ReadBooleanArray(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
bool[] | The Boolean[] property value, or null if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadByte(int)
Read a Byte property from the POF stream.
Declaration
public virtual byte ReadByte(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
byte | The Byte property value, or zero if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadByteArray(int)
Read a Byte[] property from the POF stream.
Declaration
public virtual byte[] ReadByteArray(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
byte[] | The Byte[] property value, or null if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadChar(int)
Read a Char property from the POF stream.
Declaration
public virtual char ReadChar(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
char | The Char property value, or zero if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadCharArray(int)
Read a Char[] property from the POF stream.
Declaration
public virtual char[] ReadCharArray(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
char[] | The Char[] property value, or null if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadCollection(int, ICollection)
Read an ICollection of object values from the POF stream.
Declaration
public virtual ICollection ReadCollection(int index, ICollection coll)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
ICollection | coll | The optional ICollection to use to store the values. |
Returns
Type | Description |
---|---|
ICollection | A collection of object values, or |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadCollection<T>(int, ICollection<T>)
Read a generic ICollection<T> of object values from the POF stream.
Declaration
public virtual ICollection<T> ReadCollection<T>(int index, ICollection<T> coll)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
ICollection<T> | coll | The optional ICollection<T> to use to store the values. |
Returns
Type | Description |
---|---|
ICollection<T> | A generic collection of object values, or |
Type Parameters
Name | Description |
---|---|
T | The type of the elements in the collection. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadDate(int)
Read a DateTime property from the POF stream.
Declaration
public virtual DateTime ReadDate(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
DateTime | The DateTime property value. |
Remarks
This method will read only the date component of a date-time value from the POF stream. It will ignore the time component if present and initialize the time-related fields of the return value to their default values.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadDateTime(int)
Read a DateTime property from the POF stream.
Declaration
public virtual DateTime ReadDateTime(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
DateTime | The DateTime property value. |
Remarks
This method will attempt to read both the date and time component from the POF stream. If the value in the stream does not contain both components, the corresponding values in the returned DateTime instance will be set to default values.
If the encoded value in the POF stream contains time zone information, this method will ignore time zone information and return a literal DateTime value, as read from the stream.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadDayTimeInterval(int)
Reads a TimeSpan from the POF stream.
Declaration
public virtual TimeSpan ReadDayTimeInterval(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
TimeSpan | The TimeSpan property value, or |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadDecimal(int)
Read a Decimal from the POF stream.
Declaration
public virtual decimal ReadDecimal(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
decimal | The Decimal property value, or null if no value was available in the POF stream |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadDictionary(int, IDictionary)
Read an IDictionary of key/value pairs from the POF stream.
Declaration
public virtual IDictionary ReadDictionary(int index, IDictionary dict)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
IDictionary | dict | The optional IDictionary to initialize. |
Returns
Type | Description |
---|---|
IDictionary | An IDictionary of key/value pairs object values, or
|
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
ArgumentNullException | If |
IOException | If an I/O error occurs. |
ReadDictionary<TKey, TValue>(int, IDictionary<TKey, TValue>)
Read a generic IDictionary<TKey, TValue> of key/value pairs from the POF stream.
Declaration
public virtual IDictionary<TKey, TValue> ReadDictionary<TKey, TValue>(int index, IDictionary<TKey, TValue> dictionary)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
IDictionary<TKey, TValue> | dictionary | The optional IDictionary<TKey, TValue> to initialize. |
Returns
Type | Description |
---|---|
IDictionary<TKey, TValue> | An IDictionary<TKey, TValue> of key/value pairs
object values, or |
Type Parameters
Name | Description |
---|---|
TKey | The type of the keys in the dictionary. |
TValue | The type of the values in the dictionary. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
ArgumentNullException | If |
IOException | If an I/O error occurs. |
ReadDouble(int)
Read a Double property from the POF stream.
Declaration
public virtual double ReadDouble(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
double | The Double property value, or zero if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadDoubleArray(int)
Read a Double[] property from the POF stream.
Declaration
public virtual double[] ReadDoubleArray(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
double[] | The Double[] property value, or null if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadInt16(int)
Read an Int16 property from the POF stream.
Declaration
public virtual short ReadInt16(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
short | The Int16 property value, or zero if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadInt16Array(int)
Read an Int16[] property from the POF stream.
Declaration
public virtual short[] ReadInt16Array(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
short[] | The Int16[] property value, or null if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadInt32(int)
Read an Int32 property from the POF stream.
Declaration
public virtual int ReadInt32(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
int | The Int32 property value, or zero if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadInt32Array(int)
Read an Int32[] property from the POF stream.
Declaration
public virtual int[] ReadInt32Array(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
int[] | The Int32[] property value, or null if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadInt64(int)
Read an Int64 property from the POF stream.
Declaration
public virtual long ReadInt64(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
long | The Int64 property value, or zero if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadInt64Array(int)
Read an Int64[] property from the POF stream.
Declaration
public virtual long[] ReadInt64Array(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
long[] | The Int64[] property value, or null if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadLocalDateTime(int)
Read a DateTime property from the POF stream.
Declaration
public DateTime ReadLocalDateTime(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
DateTime | The DateTime property value. |
Remarks
This method will attempt to read both the date and time component from the POF stream. If the value in the stream does not contain both components, the corresponding values in the returned DateTime instance will be set to default values.
If the encoded value in the POF stream contains time zone information, this method will use it to determine and return the local time for the reading thread.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadLongArray(int, ILongArray)
Read an ILongArray of object values.
Declaration
public ILongArray ReadLongArray(int index, ILongArray array)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
ILongArray | array | The optional ILongArray object to use to store the values. |
Returns
Type | Description |
---|---|
ILongArray | An ILongArray of object values, or |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadObject(int)
Read a property of any type, including a user type, from the POF stream.
Declaration
public virtual object ReadObject(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
object | The object value; may be |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadRawDateTime(int)
Read a RawDateTime from the POF stream.
Declaration
public virtual RawDateTime ReadRawDateTime(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
RawDateTime | The RawDateTime property value, or |
Remarks
The RawDateTime class contains the raw date and time information that was carried in the POF stream, including raw timezone information.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadRawInt128(int)
Read an RawInt128 property from the POF stream.
Declaration
public virtual RawInt128 ReadRawInt128(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
RawInt128 | The RawInt128 property value, or zero if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadRawTime(int)
Read a RawTime property from the POF stream.
Declaration
public virtual RawTime ReadRawTime(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
RawTime | The RawTime property value, or null if no value was available in the POF stream. |
Remarks
The RawTime class contains the raw time information that was carried in the POF stream, including raw timezone information.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadRawYearMonthInterval(int)
Read a year-month interval from the POF stream.
Declaration
public virtual RawYearMonthInterval ReadRawYearMonthInterval(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
RawYearMonthInterval | The YearMonthInterval property value, or |
Remarks
The RawYearMonthInterval struct contains the raw year-month interval information that was carried in the POF stream.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadRemainder()
Read all remaining indexed properties of the current user type from the POF stream.
Declaration
public virtual Binary ReadRemainder()
Returns
Type | Description |
---|---|
Binary | A Byte[] containing zero or more indexed properties in binary POF encoded form. |
Remarks
As part of reading in a user type, this method must be called by the IPofSerializer that is reading the user type, or the read position within the POF stream will be corrupted. Subsequent calls to the various ReadXYZ methods of this interface will fail after this method is called.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If no user type is being parsed. |
IOException | If an I/O error occurs. |
ReadSingle(int)
Read a Single property from the POF stream.
Declaration
public virtual float ReadSingle(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
float | The Single property value, or zero if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadSingleArray(int)
Read a Single[] property from the POF stream.
Declaration
public virtual float[] ReadSingleArray(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
float[] | The Single[] property value, or null if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadString(int)
Read a String property from the POF stream.
Declaration
public virtual string ReadString(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
string | The String property value, or null if no value was available in the POF stream. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadTimeInterval(int)
Reads a TimeSpan from the POF stream.
Declaration
public virtual TimeSpan ReadTimeInterval(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
TimeSpan | The TimeSpan property value, or |
Remarks
This method will read only the time component of a day-time-interval value from the POF stream. It will ignore the day component if present and initialize day-related fields of the return value to their default values.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
ReadUniversalDateTime(int)
Read a DateTime property from the POF stream.
Declaration
public DateTime ReadUniversalDateTime(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The property index to read. |
Returns
Type | Description |
---|---|
DateTime | The DateTime property value. |
Remarks
This method will attempt to read both the date and time components from the POF stream. If the value in the stream does not contain both components, the corresponding values in the returned DateTime instance will be set to default values.
If the encoded value in the POF stream contains time zone information, this method will use it to determine and return a Coordinated Universal Time (UTC) value.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | If the POF stream has already advanced past the desired property. |
IOException | If an I/O error occurs. |
RegisterIdentity(int, object)
Register the passed value with the passed identity.
Declaration
protected virtual 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. |
RegisterIdentity(object)
Register an identity for a newly created user type instance.
Declaration
public virtual void RegisterIdentity(object o)
Parameters
Type | Name | Description |
---|---|---|
object | o | The object to register the identity for. |
Remarks
If identity/reference types are enabled, an identity is used to uniquely identify a user type instance within a POF stream. The identity immediately proceeds the instance value in the POF stream and can be used later in the stream to reference the instance.
IPofSerializer implementations must call this method with each user type instance instantiated during deserialization prior to reading any properties of the instance which are user type instances themselves.Exceptions
Type | Condition |
---|---|
InvalidOperationException | If no user type is being parsed. |