Skip navigation links

Oracle® Coherence Java API Reference
Release 3.7.1.0

E22843-01


com.tangosol.io.pof
Interface PofReader

All Known Implementing Classes:
PofBufferReader, PofBufferReader.UserTypeReader

public interface PofReader

The PofReader interface provides the capability of reading a set of non-primitive Java types ("user types") from a POF stream as an ordered sequence of indexed properties.

See PofWriter for a complete description of the POF user type serialization format.

Since:
Coherence 3.2
Author:
cp/jh 2006.07.13
See Also:
PofContext, PofWriter

Method Summary
 PofReader createNestedPofReader(int iProp)
          Obtain a PofReader that can be used to read a set of properties from a single property of the current user type.
 PofContext getPofContext()
          Return the PofContext object used by this PofReader to deserialize user types from a POF stream.
 int getUserTypeId()
          Determine the user type that is currently being parsed.
 int getVersionId()
          Determine the version identifier of the user type that is currently being parsed.
 java.math.BigDecimal readBigDecimal(int iProp)
          Read a BigDecimal from the POF stream.
 java.math.BigInteger readBigInteger(int iProp)
          Read a BigInteger from the POF stream.
 Binary readBinary(int iProp)
          Read a Binary from the POF stream.
 boolean readBoolean(int iProp)
          Read a boolean property from the POF stream.
 boolean[] readBooleanArray(int iProp)
          Read a boolean[] property from the POF stream.
 byte readByte(int iProp)
          Read a byte property from the POF stream.
 byte[] readByteArray(int iProp)
          Read a byte[] property from the POF stream.
 char readChar(int iProp)
          Read a char property from the POF stream.
 char[] readCharArray(int iProp)
          Read a char[] property from the POF stream.
 java.util.Collection readCollection(int iProp, java.util.Collection coll)
          Read a Collection of object values from the POF stream.
 java.util.Date readDate(int iProp)
          Read a java.util.Date from the POF stream.
 double readDouble(int iProp)
          Read a double property from the POF stream.
 double[] readDoubleArray(int iProp)
          Read a double[] property from the POF stream.
 float readFloat(int iProp)
          Read a float property from the POF stream.
 float[] readFloatArray(int iProp)
          Read a float[] property from the POF stream.
 int readInt(int iProp)
          Read a int property from the POF stream.
 int[] readIntArray(int iProp)
          Read a int[] property from the POF stream.
 long readLong(int iProp)
          Read a long property from the POF stream.
 long[] readLongArray(int iProp)
          Read a long[] property from the POF stream.
 LongArray readLongArray(int iProp, LongArray array)
          Read a LongArray of object values.
 java.util.Map readMap(int iProp, java.util.Map map)
          Read a Map of key/value pairs from the POF stream.
 java.lang.Object readObject(int iProp)
          Read a property of any type, including a user type, from the POF stream.
 java.lang.Object[] readObjectArray(int iProp, java.lang.Object[] ao)
          Read an array of object values.
 RawDate readRawDate(int iProp)
          Read a RawDate from the POF stream.
 RawDateTime readRawDateTime(int iProp)
          Read a RawDateTime from the POF stream.
 RawDayTimeInterval readRawDayTimeInterval(int iProp)
          Read a RawDayTimeInterval from the POF stream.
 RawQuad readRawQuad(int iProp)
          Read a RawQuad from the POF stream.
 RawTime readRawTime(int iProp)
          Read a RawTime from the POF stream.
 RawTimeInterval readRawTimeInterval(int iProp)
          Read a RawTimeInterval from the POF stream.
 RawYearMonthInterval readRawYearMonthInterval(int iProp)
          Read a RawYearMonthInterval from the POF stream.
 Binary readRemainder()
          Read all remaining indexed properties of the current user type from the POF stream.
 short readShort(int iProp)
          Read a short property from the POF stream.
 short[] readShortArray(int iProp)
          Read a short[] property from the POF stream.
 java.lang.String readString(int iProp)
          Read a String from the POF stream.
 void registerIdentity(java.lang.Object o)
          Register an identity for a newly created user type instance.
 void setPofContext(PofContext ctx)
          Configure the PofContext object used by this PofReader to deserialize user types from a POF stream.

 

Method Detail

readBoolean

boolean readBoolean(int iProp)
                    throws java.io.IOException
Read a boolean property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the boolean property value
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readByte

byte readByte(int iProp)
              throws java.io.IOException
Read a byte property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the byte property value
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readChar

char readChar(int iProp)
              throws java.io.IOException
Read a char property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the char property value
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readShort

short readShort(int iProp)
                throws java.io.IOException
Read a short property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the short property value
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readInt

int readInt(int iProp)
            throws java.io.IOException
Read a int property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the int property value
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readLong

long readLong(int iProp)
              throws java.io.IOException
Read a long property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the long property value
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readFloat

float readFloat(int iProp)
                throws java.io.IOException
Read a float property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the float property value
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readDouble

double readDouble(int iProp)
                  throws java.io.IOException
Read a double property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the double property value
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readBooleanArray

boolean[] readBooleanArray(int iProp)
                           throws java.io.IOException
Read a boolean[] property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the boolean[] property value; may be null
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readByteArray

byte[] readByteArray(int iProp)
                     throws java.io.IOException
Read a byte[] property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the byte[] property value; may be null
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readCharArray

char[] readCharArray(int iProp)
                     throws java.io.IOException
Read a char[] property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the char[] property value; may be null
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readShortArray

short[] readShortArray(int iProp)
                       throws java.io.IOException
Read a short[] property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the short[] property value; may be null
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readIntArray

int[] readIntArray(int iProp)
                   throws java.io.IOException
Read a int[] property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the int[] property value; may be null
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readLongArray

long[] readLongArray(int iProp)
                     throws java.io.IOException
Read a long[] property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the long[] property value; may be null
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readFloatArray

float[] readFloatArray(int iProp)
                       throws java.io.IOException
Read a float[] property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the float[] property value; may be null
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readDoubleArray

double[] readDoubleArray(int iProp)
                         throws java.io.IOException
Read a double[] property from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the double[] property value; may be null
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readBigInteger

java.math.BigInteger readBigInteger(int iProp)
                                    throws java.io.IOException
Read a BigInteger from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the BigInteger property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readRawQuad

RawQuad readRawQuad(int iProp)
                    throws java.io.IOException
Read a RawQuad from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the RawQuad property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readBigDecimal

java.math.BigDecimal readBigDecimal(int iProp)
                                    throws java.io.IOException
Read a BigDecimal from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the BigDecimal property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readBinary

Binary readBinary(int iProp)
                  throws java.io.IOException
Read a Binary from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the Binary property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readString

java.lang.String readString(int iProp)
                            throws java.io.IOException
Read a String from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the String property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readDate

java.util.Date readDate(int iProp)
                        throws java.io.IOException
Read a java.util.Date from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the Date property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readRawDate

RawDate readRawDate(int iProp)
                    throws java.io.IOException
Read a RawDate from the POF stream. The RawDate class contains the raw date information that was carried in the POF stream.
Parameters:
iProp - the property index to read
Returns:
the RawDate property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readRawTime

RawTime readRawTime(int iProp)
                    throws java.io.IOException
Read a RawTime from the POF stream. The RawTime class contains the raw time information that was carried in the POF stream, including raw timezone information.
Parameters:
iProp - the property index to read
Returns:
the RawTime property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readRawDateTime

RawDateTime readRawDateTime(int iProp)
                            throws java.io.IOException
Read a RawDateTime from the POF stream. The RawDateTime class contains the raw date and time information that was carried in the POF stream, including raw timezone information.
Parameters:
iProp - the property index to read
Returns:
the RawDateTime property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readRawYearMonthInterval

RawYearMonthInterval readRawYearMonthInterval(int iProp)
                                              throws java.io.IOException
Read a RawYearMonthInterval from the POF stream. The RawYearMonthInterval class contains the raw year-month interval information that was carried in the POF stream.
Parameters:
iProp - the property index to read
Returns:
the RawYearMonthInterval property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readRawTimeInterval

RawTimeInterval readRawTimeInterval(int iProp)
                                    throws java.io.IOException
Read a RawTimeInterval from the POF stream. The RawTimeInterval class contains the raw time interval information that was carried in the POF stream.
Parameters:
iProp - the property index to read
Returns:
the RawTimeInterval property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readRawDayTimeInterval

RawDayTimeInterval readRawDayTimeInterval(int iProp)
                                          throws java.io.IOException
Read a RawDayTimeInterval from the POF stream. The RawDayTimeInterval class contains the raw year-month interval information that was carried in the POF stream.
Parameters:
iProp - the property index to read
Returns:
the RawDayTimeInterval property value, or null if no value was available in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readObject

java.lang.Object readObject(int iProp)
                            throws java.io.IOException
Read a property of any type, including a user type, from the POF stream.
Parameters:
iProp - the property index to read
Returns:
the Object value; may be null
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readObjectArray

java.lang.Object[] readObjectArray(int iProp,
                                   java.lang.Object[] ao)
                                   throws java.io.IOException
Read an array of object values.
Parameters:
iProp - the property index to read
ao - 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 Collection.toArray()
Returns:
an array of object values, or null if no array is passed and there is no array data in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readLongArray

LongArray readLongArray(int iProp,
                        LongArray array)
                        throws java.io.IOException
Read a LongArray of object values.
Parameters:
iProp - the property index to read
array - the optional LongArray object to use to store the values
Returns:
a LongArray of object values, or null if no LongArray is passed and there is no array data in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readCollection

java.util.Collection readCollection(int iProp,
                                    java.util.Collection coll)
                                    throws java.io.IOException
Read a Collection of object values from the POF stream.
Parameters:
iProp - the property index to read
coll - the optional Collection to use to store the values
Returns:
a Collection of object values, or null if no Collection is passed and there is no collection data in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

readMap

java.util.Map readMap(int iProp,
                      java.util.Map map)
                      throws java.io.IOException
Read a Map of key/value pairs from the POF stream.
Parameters:
iProp - the property index to read
map - the optional Map to initialize
Returns:
a Map of key/value pairs object values, or null if no Map is passed and there is no key/value data in the POF stream
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.io.IOException - if an I/O error occurs

getPofContext

PofContext getPofContext()
Return the PofContext object used by this PofReader to deserialize user types from a POF stream.
Returns:
the PofContext object that contains user type meta-data

setPofContext

void setPofContext(PofContext ctx)
Configure the PofContext object used by this PofReader to deserialize user types from a POF stream.

Note: this is an advanced method that should be used with care. For example, if this method is being used to switch to another PofContext mid-POF stream, it is important to eventually restore the original PofContext. For example:

 PofContext ctxOrig = reader.getPofContext();
 try
     {
     // switch to another PofContext
     PofContext ctxNew = ...;
     reader.setContext(ctxNew);

     // read POF data using the reader
     }
 finally
     {
     // restore the original PofContext
     reader.setPofContext(ctxOrig);
     }
 
Parameters:
ctx - the new PofContext; must not be null

getUserTypeId

int getUserTypeId()
Determine the user type that is currently being parsed.
Returns:
the user type information, or -1 if the PofReader is not currently parsing a user type

getVersionId

int getVersionId()
Determine the version identifier of the user type that is currently being parsed.
Returns:
the integer version ID read from the POF stream; always non-negative
Throws:
java.lang.IllegalStateException - if no user type is being parsed

registerIdentity

void registerIdentity(java.lang.Object o)
Register an identity for a newly created user type instance.

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.

PofSerializer implementations must call this method with the user type instance instantiated during deserialization prior to reading any properties of the instance which are user type instances themselves.

Parameters:
o - the object to register the identity for
Since:
Coherence 3.7.1
See Also:
PofSerializer.deserialize(PofReader)

createNestedPofReader

PofReader createNestedPofReader(int iProp)
                                throws java.io.IOException
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.
Parameters:
iProp - the property index to read from
Returns:
a PofReader that reads its contents from a single property of this PofReader
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property read from the POF stream
java.lang.IllegalStateException - if no user type is being parsed
java.io.IOException - if an I/O error occurs
Since:
Coherence 3.6

readRemainder

Binary readRemainder()
                     throws java.io.IOException
Read all remaining indexed properties of the current user type from the POF stream. As part of reading in a user type, this method must be called by the PofSerializer 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.

Returns:
a Binary object containing zero or more indexed properties in binary POF encoded form
Throws:
java.lang.IllegalStateException - if no user type is being parsed
java.io.IOException - if an I/O error occurs

Skip navigation links

Oracle® Coherence Java API Reference
Release 3.7.1.0

E22843-01


Copyright © 2000, 2011, Oracle and/or its affiliates. All rights reserved.