Skip navigation links

Oracle® Fusion Middleware Java API Reference for Oracle Coherence
12c (12.1.3.0.0)

E47890-01


com.tangosol.io.pof
Class PofBufferWriter

java.lang.Object
  extended by com.tangosol.util.Base
      extended by com.tangosol.io.pof.PofHelper
          extended by com.tangosol.io.pof.PofBufferWriter

All Implemented Interfaces:
PofConstants, PofWriter
Direct Known Subclasses:
PofBufferWriter.UserTypeWriter

public class PofBufferWriter
extends PofHelper
implements PofWriter

PofWriter implementation that writes POF-encoded data to a BufferOutput.

Since:
Coherence 3.2
Author:
jh 2006.07.11

Nested Class Summary
static class PofBufferWriter.ReferenceLibrary
          A "library" of object references and their corresponding identities in the POF stream.
static class PofBufferWriter.UserTypeWriter
          The UserTypeWriter implementation is a contextually-aware PofWriter whose purpose is to write the properties of a value of a specified user type.

 

Nested classes/interfaces inherited from class com.tangosol.io.pof.PofHelper
PofHelper.ReadableEntrySetMap, PofHelper.WriteableEntrySetMap

 

Field Summary
protected  PofContext m_ctx
          The PofContext used by this PofBufferWriter to serialize user types.
protected  boolean m_fEvolvable
          Indicate if the object to be written is either Evolvable or part of an Evolvable object.
protected  WritingPofHandler m_handler
          The WritingPofHandler used to write a POF stream.
protected  WriteBuffer.BufferOutput m_out
          The BufferOutput object that the PofBufferWriter writes to.
protected  PofBufferWriter.ReferenceLibrary m_refs
          If references are used, then this is the ReferenceLibrary.

 

Fields inherited from class com.tangosol.io.pof.PofHelper
BIGDECIMAL_ZERO, BIGINTEGER_MAX_LONG, BIGINTEGER_MIN_LONG, BINARY_EMPTY, BOOLEAN_ARRAY_EMPTY, BYTE_ARRAY_EMPTY, CHAR_ARRAY_EMPTY, COLLECTION_EMPTY, DOUBLE_ARRAY_EMPTY, FLOAT_ARRAY_EMPTY, INT_ARRAY_EMPTY, LONG_ARRAY_EMPTY, OBJECT_ARRAY_EMPTY, SHORT_ARRAY_EMPTY

 

Fields inherited from interface com.tangosol.io.pof.PofConstants
J_BIG_DECIMAL, J_BIG_INTEGER, J_BINARY, J_BOOLEAN, J_BOOLEAN_ARRAY, J_BYTE, J_BYTE_ARRAY, J_CHAR_ARRAY, J_CHARACTER, J_COLLECTION, J_DATE, J_DATETIME, J_DOUBLE, J_DOUBLE_ARRAY, J_FLOAT, J_FLOAT_ARRAY, J_INT_ARRAY, J_INTEGER, J_LONG, J_LONG_ARRAY, J_MAP, J_NULL, J_OBJECT_ARRAY, J_QUAD, J_RAW_DATE, J_RAW_DATETIME, J_RAW_DAY_TIME_INTERVAL, J_RAW_TIME, J_RAW_TIME_INTERVAL, J_RAW_YEAR_MONTH_INTERVAL, J_SHORT, J_SHORT_ARRAY, J_SPARSE_ARRAY, J_STRING, J_TIME, J_TIMESTAMP, J_USER_TYPE, MAX_DECIMAL128_SCALE, MAX_DECIMAL128_UNSCALED, MAX_DECIMAL32_SCALE, MAX_DECIMAL32_UNSCALED, MAX_DECIMAL64_SCALE, MAX_DECIMAL64_UNSCALED, MIN_DECIMAL128_SCALE, MIN_DECIMAL32_SCALE, MIN_DECIMAL64_SCALE, T_ARRAY, T_BOOLEAN, T_CHAR, T_CHAR_STRING, T_COLLECTION, T_DATE, T_DATETIME, T_DAY_TIME_INTERVAL, T_DECIMAL128, T_DECIMAL32, T_DECIMAL64, T_FLOAT128, T_FLOAT32, T_FLOAT64, T_IDENTITY, T_INT128, T_INT16, T_INT32, T_INT64, T_MAP, T_OCTET, T_OCTET_STRING, T_REFERENCE, T_SPARSE_ARRAY, T_TIME, T_TIME_INTERVAL, T_UNIFORM_ARRAY, T_UNIFORM_COLLECTION, T_UNIFORM_KEYS_MAP, T_UNIFORM_MAP, T_UNIFORM_SPARSE_ARRAY, T_UNKNOWN, T_YEAR_MONTH_INTERVAL, V_BOOLEAN_FALSE, V_BOOLEAN_TRUE, V_COLLECTION_EMPTY, V_FP_NAN, V_FP_NEG_INFINITY, V_FP_POS_INFINITY, V_INT_0, V_INT_1, V_INT_10, V_INT_11, V_INT_12, V_INT_13, V_INT_14, V_INT_15, V_INT_16, V_INT_17, V_INT_18, V_INT_19, V_INT_2, V_INT_20, V_INT_21, V_INT_22, V_INT_3, V_INT_4, V_INT_5, V_INT_6, V_INT_7, V_INT_8, V_INT_9, V_INT_NEG_1, V_REFERENCE_NULL, V_STRING_ZERO_LENGTH

 

Constructor Summary
PofBufferWriter(WriteBuffer.BufferOutput out, PofContext ctx)
          Construct a new PofBufferWriter that will write a POF stream to the passed BufferOutput object.
PofBufferWriter(WritingPofHandler handler, PofContext ctx)
          Construct a new PofBufferWriter that will write a POF stream using the passed WritingPofHandler.

 

Method Summary
protected static void assertEqual(java.lang.Class clz, java.lang.Class clzTest)
          Assert that a class is equal to another class.
protected  void beginProperty(int iProp)
          Report that a POF property is about to be written to the POF stream.
 PofWriter createNestedPofWriter(int iProp)
          Obtain a PofWriter that can be used to write a set of properties into a single property of the current user type.
 void enableReference()
          Ensure that reference support (necessary for cyclic dependencies) is enabled.
protected  void endProperty(int iProp)
          Signifies the termination of the current POF property.
protected  WriteBuffer.BufferOutput getBufferOutput()
          Return the BufferOutput that this PofBufferWriter writes to.
protected static int getNanos(java.util.Date dt)
          Extract the nanoseconds from the date.
protected  PofBufferWriter getParentWriter()
          If this writer is contextually within a user type, obtain the writer which created this writer in order to write the user type.
 PofContext getPofContext()
          Return the PofContext object used by this PofWriter to serialize user types to a POF stream.
protected  WritingPofHandler getPofHandler()
          Return the WritingPofHandler used internally by this PofBufferWriter to write the POF stream.
 int getUserTypeId()
          Determine the user type that is currently being written.
 int getVersionId()
          Determine the version identifier of the user type that is currently being written.
protected  boolean isEvolvable()
          Determine if the object to be written is either Evolvable or part of an Evolvable object.
 boolean isReferenceEnabled()
          Determine if reference support is enabled.
protected  void onException(java.lang.Exception e)
          Called when an unexpected exception is caught while writing to the POF stream.
protected  void setEvolvable(boolean fEvolvable)
          Set the Evolvable flag to indicate if the object to be written is Evolvable or part of an Evolvable object.
 void setPofContext(PofContext ctx)
          Configure the PofContext object used by this PofWriter to serialize user types to a POF stream.
 void setVersionId(int nVersionId)
          Set the version identifier of the user type that is currently being written.
 void writeBigDecimal(int iProp, java.math.BigDecimal dec)
          Write a BigDecimal property to the POF stream.
 void writeBigInteger(int iProp, java.math.BigInteger n)
          Write a BigInteger property to the POF stream.
 void writeBinary(int iProp, Binary bin)
          Write a Binary property to the POF stream.
 void writeBoolean(int iProp, boolean f)
          Write a boolean property to the POF stream.
protected  void writeBoolean(int iProp, boolean f, boolean fReferenceable)
          Write a boolean property to the POF stream.
 void writeBooleanArray(int iProp, boolean[] af)
          Write a boolean[] property to the POF stream.
 void writeByte(int iProp, byte b)
          Write a byte property to the POF stream.
protected  void writeByte(int iProp, byte b, boolean fReferenceable)
          Write a byte property to the POF stream.
 void writeByteArray(int iProp, byte[] ab)
          Write a byte[] property to the POF stream.
 void writeChar(int iProp, char ch)
          Write a char property to the POF stream.
protected  void writeChar(int iProp, char ch, boolean fReferenceable)
          Write a char property to the POF stream.
 void writeCharArray(int iProp, char[] ach)
          Write a char[] property to the POF stream.
 void writeCollection(int iProp, java.util.Collection coll)
          Write a Collection property to the POF stream.
 void writeCollection(int iProp, java.util.Collection coll, java.lang.Class clz)
          Write a uniform Collection property to the POF stream.
 void writeDate(int iProp, java.util.Date dt)
          Write a Date property to the POF stream in ISO8601 format.
 void writeDateTime(int iProp, java.util.Date dt)
          Write a Date property to the POF stream in ISO8601 format.
 void writeDateTime(int iProp, java.sql.Timestamp dt)
          Write a Timestamp property to the POF stream in ISO8601 format.
 void writeDateTimeWithZone(int iProp, java.util.Date dt)
          Write a Date property to the POF stream in ISO8601 format.
 void writeDateTimeWithZone(int iProp, java.sql.Timestamp dt)
          Write a Timestamp property to the POF stream in ISO8601 format.
 void writeDouble(int iProp, double dfl)
          Write a double property to the POF stream.
protected  void writeDouble(int iProp, double dfl, boolean fReferenceable)
          Write a double property to the POF stream.
 void writeDoubleArray(int iProp, double[] adfl)
          Write a double[] property to the POF stream.
 void writeFloat(int iProp, float fl)
          Write a float property to the POF stream.
protected  void writeFloat(int iProp, float fl, boolean fReferenceable)
          Write a float property to the POF stream.
 void writeFloatArray(int iProp, float[] afl)
          Write a float[] property to the POF stream.
 void writeInt(int iProp, int n)
          Write a int property to the POF stream.
protected  void writeInt(int iProp, int n, boolean fReferenceable)
          Write a int property to the POF stream.
 void writeIntArray(int iProp, int[] an)
          Write a int[] property to the POF stream.
 void writeLong(int iProp, long n)
          Write a long property to the POF stream.
protected  void writeLong(int iProp, long n, boolean fReferenceable)
          Write a long property to the POF stream.
 void writeLongArray(int iProp, long[] an)
          Write a long[] property to the POF stream.
 void writeLongArray(int iProp, LongArray la)
          Write a LongArray property to the POF stream.
 void writeLongArray(int iProp, LongArray la, java.lang.Class clz)
          Write a uniform LongArray property to the POF stream.
 void writeMap(int iProp, java.util.Map map)
          Write a Map property to the POF stream.
 void writeMap(int iProp, java.util.Map map, java.lang.Class clzKey)
          Write a uniform key Map property to the POF stream.
 void writeMap(int iProp, java.util.Map map, java.lang.Class clzKey, java.lang.Class clzValue)
          Write a uniform Map property to the POF stream.
 void writeObject(int iProp, java.lang.Object o)
          Write an Object property to the POF stream.
 void writeObjectArray(int iProp, java.lang.Object[] ao)
          Write an Object[] property to the POF stream.
 void writeObjectArray(int iProp, java.lang.Object[] ao, java.lang.Class clz)
          Write a uniform Object[] property to the POF stream.
 void writeRawDate(int iProp, RawDate date)
          Write a RawDate property to the POF stream.
 void writeRawDateTime(int iProp, RawDateTime dt)
          Write a RawDateTime property to the POF stream.
 void writeRawDayTimeInterval(int iProp, RawDayTimeInterval interval)
          Write a RawDayTimeInterval property to the POF stream.
 void writeRawQuad(int iProp, RawQuad qfl)
          Write a RawQuad property to the POF stream.
 void writeRawTime(int iProp, RawTime time)
          Write a RawTime property to the POF stream.
 void writeRawTimeInterval(int iProp, RawTimeInterval interval)
          Write a RawTimeInterval property to the POF stream.
 void writeRawYearMonthInterval(int iProp, RawYearMonthInterval interval)
          Write a RawYearMonthInterval property to the POF stream.
 void writeRemainder(Binary binProps)
          Write the remaining properties to the POF stream, terminating the writing of the currrent user type.
 void writeShort(int iProp, short n)
          Write a short property to the POF stream.
protected  void writeShort(int iProp, short n, boolean fReferenceable)
          Write a short property to the POF stream.
 void writeShortArray(int iProp, short[] an)
          Write a short[] property to the POF stream.
 void writeString(int iProp, java.lang.String s)
          Write a String property to the POF stream.
 void writeTime(int iProp, java.util.Date dt)
          Write a Date property to the POF stream in ISO8601 format.
 void writeTime(int iProp, java.sql.Timestamp dt)
          Write a Timestamp property to the POF stream in ISO8601 format.
 void writeTimeWithZone(int iProp, java.util.Date dt)
          Write a Date property to the POF stream in ISO8601 format.
 void writeTimeWithZone(int iProp, java.sql.Timestamp dt)
          Write a Timestamp property to the POF stream in ISO8601 format.
protected  void writeUserType(int iProp, java.lang.Object o)
          Write a user-type to the POF stream.

 

Methods inherited from class com.tangosol.io.pof.PofHelper
calcDecimalSize, checkDate, checkDayTimeInterval, checkDecimalRange, checkElementCount, checkReferenceRange, checkTime, checkTimeInterval, checkTimeZone, checkType, checkYearMonthInterval, convertNumber, convertToDate, decodeTinyInt, encodeTinyInt, formatDate, formatTime, formatTime, getJavaTypeId, getPofTypeId, isIntrinsicPofType, readAsBigDecimal, readAsBigInteger, readAsChar, readAsDouble, readAsFloat, readAsInt, readAsLong, readAsQuad, readBigDecimal, readBigInteger, readChar, readQuad, readRawDate, readRawTime, resizeArray, skipPackedInts, skipUniformValue, skipValue, writeBigDecimal, writeBigInteger, writeDate, writeTime

 

Field Detail

m_out

protected WriteBuffer.BufferOutput m_out
The BufferOutput object that the PofBufferWriter writes to.

m_ctx

protected PofContext m_ctx
The PofContext used by this PofBufferWriter to serialize user types.

m_fEvolvable

protected boolean m_fEvolvable
Indicate if the object to be written is either Evolvable or part of an Evolvable object.

m_handler

protected WritingPofHandler m_handler
The WritingPofHandler used to write a POF stream.

m_refs

protected PofBufferWriter.ReferenceLibrary m_refs
If references are used, then this is the ReferenceLibrary.

Constructor Detail

PofBufferWriter

public PofBufferWriter(WriteBuffer.BufferOutput out,
                       PofContext ctx)
Construct a new PofBufferWriter that will write a POF stream to the passed BufferOutput object.
Parameters:
out - the BufferOutput object to write to; must not be null
ctx - the PofContext used by the new PofBufferWriter to serialize user types; must not be null

PofBufferWriter

public PofBufferWriter(WritingPofHandler handler,
                       PofContext ctx)
Construct a new PofBufferWriter that will write a POF stream using the passed WritingPofHandler.
Parameters:
handler - the WritingPofHandler used for writing; must not be null
ctx - the PofContext used by the new PofBufferWriter to serialize user types; must not be null

Method Detail

writeBoolean

public void writeBoolean(int iProp,
                         boolean f)
                  throws java.io.IOException
Write a boolean property to the POF stream.
Specified by:
writeBoolean in interface PofWriter
Parameters:
iProp - the property index
f - the boolean property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeBoolean

protected void writeBoolean(int iProp,
                            boolean f,
                            boolean fReferenceable)
                     throws java.io.IOException
Write a boolean property to the POF stream.
Parameters:
iProp - the property index
f - the boolean property value to write
fReferenceable - true if the property value is a referenceable type
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream
java.io.IOException - if an I/O error occurs

writeByte

public void writeByte(int iProp,
                      byte b)
               throws java.io.IOException
Write a byte property to the POF stream.
Specified by:
writeByte in interface PofWriter
Parameters:
iProp - the property index
b - the byte property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeByte

protected void writeByte(int iProp,
                         byte b,
                         boolean fReferenceable)
                  throws java.io.IOException
Write a byte property to the POF stream.
Parameters:
iProp - the property index
b - the byte property value to write
fReferenceable - true if the property value is a referenceable type
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream
java.io.IOException - if an I/O error occurs

writeChar

public void writeChar(int iProp,
                      char ch)
               throws java.io.IOException
Write a char property to the POF stream.
Specified by:
writeChar in interface PofWriter
Parameters:
iProp - the property index
ch - the char property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeChar

protected void writeChar(int iProp,
                         char ch,
                         boolean fReferenceable)
                  throws java.io.IOException
Write a char property to the POF stream.
Parameters:
iProp - the property index
ch - the char property value to write
fReferenceable - true if the property value is a referenceable type
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream
java.io.IOException - if an I/O error occurs

writeShort

public void writeShort(int iProp,
                       short n)
                throws java.io.IOException
Write a short property to the POF stream.
Specified by:
writeShort in interface PofWriter
Parameters:
iProp - the property index
n - the short property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeShort

protected void writeShort(int iProp,
                          short n,
                          boolean fReferenceable)
                   throws java.io.IOException
Write a short property to the POF stream.
Parameters:
iProp - the property index
n - the short property value to write
fReferenceable - true if the property value is a referenceable type
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream
java.io.IOException - if an I/O error occurs

writeInt

public void writeInt(int iProp,
                     int n)
              throws java.io.IOException
Write a int property to the POF stream.
Specified by:
writeInt in interface PofWriter
Parameters:
iProp - the property index
n - the int property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeInt

protected void writeInt(int iProp,
                        int n,
                        boolean fReferenceable)
                 throws java.io.IOException
Write a int property to the POF stream.
Parameters:
iProp - the property index
n - the int property value to write
fReferenceable - true if the property value is a referenceable type
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream
java.io.IOException - if an I/O error occurs

writeLong

public void writeLong(int iProp,
                      long n)
               throws java.io.IOException
Write a long property to the POF stream.
Specified by:
writeLong in interface PofWriter
Parameters:
iProp - the property index
n - the long property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeLong

protected void writeLong(int iProp,
                         long n,
                         boolean fReferenceable)
                  throws java.io.IOException
Write a long property to the POF stream.
Parameters:
iProp - the property index
n - the long property value to write
fReferenceable - true if the property value is a referenceable type
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream
java.io.IOException - if an I/O error occurs

writeFloat

public void writeFloat(int iProp,
                       float fl)
                throws java.io.IOException
Write a float property to the POF stream.
Specified by:
writeFloat in interface PofWriter
Parameters:
iProp - the property index
fl - the float property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeFloat

protected void writeFloat(int iProp,
                          float fl,
                          boolean fReferenceable)
                   throws java.io.IOException
Write a float property to the POF stream.
Parameters:
iProp - the property index
fl - the float property value to write
fReferenceable - true if the property value is a referenceable type
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream
java.io.IOException - if an I/O error occurs

writeDouble

public void writeDouble(int iProp,
                        double dfl)
                 throws java.io.IOException
Write a double property to the POF stream.
Specified by:
writeDouble in interface PofWriter
Parameters:
iProp - the property index
dfl - the double property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeDouble

protected void writeDouble(int iProp,
                           double dfl,
                           boolean fReferenceable)
                    throws java.io.IOException
Write a double property to the POF stream.
Parameters:
iProp - the property index
dfl - the double property value to write
fReferenceable - true if the property value is a referenceable type
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream
java.io.IOException - if an I/O error occurs

writeBooleanArray

public void writeBooleanArray(int iProp,
                              boolean[] af)
                       throws java.io.IOException
Write a boolean[] property to the POF stream.
Specified by:
writeBooleanArray in interface PofWriter
Parameters:
iProp - the property index
af - the boolean[] property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeByteArray

public void writeByteArray(int iProp,
                           byte[] ab)
                    throws java.io.IOException
Write a byte[] property to the POF stream.
Specified by:
writeByteArray in interface PofWriter
Parameters:
iProp - the property index
ab - the byte[] property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeCharArray

public void writeCharArray(int iProp,
                           char[] ach)
                    throws java.io.IOException
Write a char[] property to the POF stream.
Specified by:
writeCharArray in interface PofWriter
Parameters:
iProp - the property index
ach - the char[] property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeShortArray

public void writeShortArray(int iProp,
                            short[] an)
                     throws java.io.IOException
Write a short[] property to the POF stream.
Specified by:
writeShortArray in interface PofWriter
Parameters:
iProp - the property index
an - the short[] property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeIntArray

public void writeIntArray(int iProp,
                          int[] an)
                   throws java.io.IOException
Write a int[] property to the POF stream.
Specified by:
writeIntArray in interface PofWriter
Parameters:
iProp - the property index
an - the int[] property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeLongArray

public void writeLongArray(int iProp,
                           long[] an)
                    throws java.io.IOException
Write a long[] property to the POF stream.
Specified by:
writeLongArray in interface PofWriter
Parameters:
iProp - the property index
an - the long[] property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeFloatArray

public void writeFloatArray(int iProp,
                            float[] afl)
                     throws java.io.IOException
Write a float[] property to the POF stream.
Specified by:
writeFloatArray in interface PofWriter
Parameters:
iProp - the property index
afl - the float[] property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeDoubleArray

public void writeDoubleArray(int iProp,
                             double[] adfl)
                      throws java.io.IOException
Write a double[] property to the POF stream.
Specified by:
writeDoubleArray in interface PofWriter
Parameters:
iProp - the property index
adfl - the double[] property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeBigInteger

public void writeBigInteger(int iProp,
                            java.math.BigInteger n)
                     throws java.io.IOException
Write a BigInteger property to the POF stream.
Specified by:
writeBigInteger in interface PofWriter
Parameters:
iProp - the property index
n - the BigInteger property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeRawQuad

public void writeRawQuad(int iProp,
                         RawQuad qfl)
                  throws java.io.IOException
Write a RawQuad property to the POF stream.
Specified by:
writeRawQuad in interface PofWriter
Parameters:
iProp - the property index
qfl - the RawQuad property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeBigDecimal

public void writeBigDecimal(int iProp,
                            java.math.BigDecimal dec)
                     throws java.io.IOException
Write a BigDecimal property to the POF stream.
Specified by:
writeBigDecimal in interface PofWriter
Parameters:
iProp - the property index
dec - the BigDecimal property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeBinary

public void writeBinary(int iProp,
                        Binary bin)
                 throws java.io.IOException
Write a Binary property to the POF stream.
Specified by:
writeBinary in interface PofWriter
Parameters:
iProp - the property index
bin - the Binary property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeString

public void writeString(int iProp,
                        java.lang.String s)
                 throws java.io.IOException
Write a String property to the POF stream.
Specified by:
writeString in interface PofWriter
Parameters:
iProp - the property index
s - the String property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeDate

public void writeDate(int iProp,
                      java.util.Date dt)
               throws java.io.IOException
Write a Date property to the POF stream in ISO8601 format.

This method encodes the year, month and day information of the specified Date object. No time or timezone information is encoded.

Specified by:
writeDate in interface PofWriter
Parameters:
iProp - the property index
dt - the Date property value to write in ISO8601 format
Throws:
java.io.IOException - if an I/O error occurs

writeDateTime

public void writeDateTime(int iProp,
                          java.util.Date dt)
                   throws java.io.IOException
Write a Date property to the POF stream in ISO8601 format.

This method encodes the year, month, day, hour, minute, second and millisecond information of the specified Date object. No timezone information is encoded.

Specified by:
writeDateTime in interface PofWriter
Parameters:
iProp - the property index
dt - the Date property value to write in ISO8601 format
Throws:
java.io.IOException - if an I/O error occurs

writeDateTime

public void writeDateTime(int iProp,
                          java.sql.Timestamp dt)
                   throws java.io.IOException
Write a Timestamp property to the POF stream in ISO8601 format.

This method encodes the year, month, day, hour, minute, second, millisecond and nanosecond information of the specified Timestamp object. No timezone information is encoded.

Specified by:
writeDateTime in interface PofWriter
Parameters:
iProp - the property index
dt - the Timestamp property value to write in ISO8601 format
Throws:
java.io.IOException - if an I/O error occurs

writeDateTimeWithZone

public void writeDateTimeWithZone(int iProp,
                                  java.util.Date dt)
                           throws java.io.IOException
Write a Date property to the POF stream in ISO8601 format.

This method encodes the year, month, day, hour, minute, second, millisecond and timezone information of the specified Date object.

Specified by:
writeDateTimeWithZone in interface PofWriter
Parameters:
iProp - the property index
dt - the Date property value to write in ISO8601 format
Throws:
java.io.IOException - if an I/O error occurs

writeDateTimeWithZone

public void writeDateTimeWithZone(int iProp,
                                  java.sql.Timestamp dt)
                           throws java.io.IOException
Write a Timestamp property to the POF stream in ISO8601 format.

This method encodes the year, month, day, hour, minute, second, millisecond, nanosecond and timezone information of the specified Timestamp object.

Specified by:
writeDateTimeWithZone in interface PofWriter
Parameters:
iProp - the property index
dt - the Timestamp property value to write in ISO8601 format
Throws:
java.io.IOException - if an I/O error occurs

writeTime

public void writeTime(int iProp,
                      java.util.Date dt)
               throws java.io.IOException
Write a Date property to the POF stream in ISO8601 format.

This method encodes the hour, minute, second and millisecond information of the specified Date object. No year, month, day or timezone information is encoded.

Specified by:
writeTime in interface PofWriter
Parameters:
iProp - the property index
dt - the Date property value to write in ISO8601 format
Throws:
java.io.IOException - if an I/O error occurs

writeTime

public void writeTime(int iProp,
                      java.sql.Timestamp dt)
               throws java.io.IOException
Write a Timestamp property to the POF stream in ISO8601 format.

This method encodes the hour, minute, second, millisecond and nanosecond information of the specified Timestamp object.

Specified by:
writeTime in interface PofWriter
Parameters:
iProp - the property index
dt - the Timestamp property value to write in ISO8601 format
Throws:
java.io.IOException - if an I/O error occurs

writeTimeWithZone

public void writeTimeWithZone(int iProp,
                              java.util.Date dt)
                       throws java.io.IOException
Write a Date property to the POF stream in ISO8601 format.

This method encodes the hour, minute, second, millisecond and timezone information of the specified Date object. No year, month or day information is encoded.

Specified by:
writeTimeWithZone in interface PofWriter
Parameters:
iProp - the property index
dt - the Date property value to write in ISO8601 format
Throws:
java.io.IOException - if an I/O error occurs

writeTimeWithZone

public void writeTimeWithZone(int iProp,
                              java.sql.Timestamp dt)
                       throws java.io.IOException
Write a Timestamp property to the POF stream in ISO8601 format.

This method encodes the hour, minute, second, millisecond, nanosecond and timezone information of the specified Timestamp object. No year, month or day information is encoded.

Specified by:
writeTimeWithZone in interface PofWriter
Parameters:
iProp - the property index
dt - the Timestamp property value to write in ISO8601 format
Throws:
java.io.IOException - if an I/O error occurs

writeRawDate

public void writeRawDate(int iProp,
                         RawDate date)
                  throws java.io.IOException
Write a RawDate property to the POF stream.
Specified by:
writeRawDate in interface PofWriter
Parameters:
iProp - the property index
date - the RawDate property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeRawTime

public void writeRawTime(int iProp,
                         RawTime time)
                  throws java.io.IOException
Write a RawTime property to the POF stream.
Specified by:
writeRawTime in interface PofWriter
Parameters:
iProp - the property index
time - the RawTime property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeRawDateTime

public void writeRawDateTime(int iProp,
                             RawDateTime dt)
                      throws java.io.IOException
Write a RawDateTime property to the POF stream.
Specified by:
writeRawDateTime in interface PofWriter
Parameters:
iProp - the property index
dt - the RawDateTime property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeRawYearMonthInterval

public void writeRawYearMonthInterval(int iProp,
                                      RawYearMonthInterval interval)
                               throws java.io.IOException
Write a RawYearMonthInterval property to the POF stream.
Specified by:
writeRawYearMonthInterval in interface PofWriter
Parameters:
iProp - the property index
interval - the RawYearMonthInterval property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeRawTimeInterval

public void writeRawTimeInterval(int iProp,
                                 RawTimeInterval interval)
                          throws java.io.IOException
Write a RawTimeInterval property to the POF stream.
Specified by:
writeRawTimeInterval in interface PofWriter
Parameters:
iProp - the property index
interval - the RawTimeInterval property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeRawDayTimeInterval

public void writeRawDayTimeInterval(int iProp,
                                    RawDayTimeInterval interval)
                             throws java.io.IOException
Write a RawDayTimeInterval property to the POF stream.
Specified by:
writeRawDayTimeInterval in interface PofWriter
Parameters:
iProp - the property index
interval - the RawDayTimeInterval property value to write
Throws:
java.io.IOException - if an I/O error occurs

writeObject

public void writeObject(int iProp,
                        java.lang.Object o)
                 throws java.io.IOException
Write an Object property to the POF stream.

The given object must be an instance of one of the following:

Otherwise, a PofSerializer for the object must be obtainable from the PofContext associated with this PofWriter.

Specified by:
writeObject in interface PofWriter
Parameters:
iProp - the property index
o - the Object property to write
Throws:
java.io.IOException - if an I/O error occurs

writeUserType

protected void writeUserType(int iProp,
                             java.lang.Object o)
                      throws java.io.IOException
Write a user-type to the POF stream.
Parameters:
iProp - the property index
o - the object to write
Throws:
java.io.IOException - if an I/O error occurs

writeObjectArray

public void writeObjectArray(int iProp,
                             java.lang.Object[] ao)
                      throws java.io.IOException
Write an Object[] property to the POF stream.

Each element of the given array must be an instance (or an array of instances) of one of the following:

Otherwise, a PofSerializer for each element of the array must be obtainable from the PofContext associated with this PofWriter.

Specified by:
writeObjectArray in interface PofWriter
Parameters:
iProp - the property index
ao - the Object[] property to write
Throws:
java.io.IOException - if an I/O error occurs

writeObjectArray

public void writeObjectArray(int iProp,
                             java.lang.Object[] ao,
                             java.lang.Class clz)
                      throws java.io.IOException
Write a uniform Object[] property to the POF stream.

Each element of the given array must be an instance (or an array of instances) of one of the following:

Otherwise, a PofSerializer for each element of the array must be obtainable from the PofContext associated with this PofWriter.

Additionally, the type of each element must be equal to the specified class.

Specified by:
writeObjectArray in interface PofWriter
Parameters:
iProp - the property index
ao - the Object[] property to write
clz - the class of all elements; must not be null
Throws:
java.io.IOException - if an I/O error occurs

writeCollection

public void writeCollection(int iProp,
                            java.util.Collection coll)
                     throws java.io.IOException
Write a Collection property to the POF stream.

Each element of the given Collection must be an instance (or an array of instances) of one of the following:

Otherwise, a PofSerializer for each element of the Collection must be obtainable from the PofContext associated with this PofWriter.

Specified by:
writeCollection in interface PofWriter
Parameters:
iProp - the property index
coll - the Collection property to write
Throws:
java.io.IOException - if an I/O error occurs

writeCollection

public void writeCollection(int iProp,
                            java.util.Collection coll,
                            java.lang.Class clz)
                     throws java.io.IOException
Write a uniform Collection property to the POF stream.

Each element of the given Collection must be an instance (or an array of instances) of one of the following:

Otherwise, a PofSerializer for each element of the Collection must be obtainable from the PofContext associated with this PofWriter.

Additionally, the type of each element must be equal to the specified class.

Specified by:
writeCollection in interface PofWriter
Parameters:
iProp - the property index
coll - the Collection property to write
clz - the class of all elements; must not be null
Throws:
java.io.IOException - if an I/O error occurs

writeLongArray

public void writeLongArray(int iProp,
                           LongArray la)
                    throws java.io.IOException
Description copied from interface: PofWriter
Write a LongArray property to the POF stream.

Each element of the given LongArray must be an instance (or an array of instances) of one of the following:

Otherwise, a PofSerializer for each element of the LongArray must be obtainable from the PofContext associated with this PofWriter.

Specified by:
writeLongArray in interface PofWriter
Parameters:
iProp - the property index
la - the LongArray property to write
Throws:
java.io.IOException - if an I/O error occurs

writeLongArray

public void writeLongArray(int iProp,
                           LongArray la,
                           java.lang.Class clz)
                    throws java.io.IOException
Write a uniform LongArray property to the POF stream.

Each element of the given LongArray must be an instance (or an array of instances) of one of the following:

Otherwise, a PofSerializer for each element of the LongArray must be obtainable from the PofContext associated with this PofWriter.

Additionally, the type of each element must be equal to the specified class.

Specified by:
writeLongArray in interface PofWriter
Parameters:
iProp - the property index
la - the LongArray property to write
clz - the class of all elements; must not be null
Throws:
java.io.IOException - if an I/O error occurs

writeMap

public void writeMap(int iProp,
                     java.util.Map map)
              throws java.io.IOException
Write a Map property to the POF stream.

Each key and value of the given Map must be an instance (or an array of instances) of one of the following:

Otherwise, a PofSerializer for each key and value of the Map must be obtainable from the PofContext associated with this PofWriter.

Specified by:
writeMap in interface PofWriter
Parameters:
iProp - the property index
map - the Map property to write
Throws:
java.io.IOException - if an I/O error occurs

writeMap

public void writeMap(int iProp,
                     java.util.Map map,
                     java.lang.Class clzKey)
              throws java.io.IOException
Write a uniform key Map property to the POF stream.

Each key and value of the given Map must be an instance (or an array of instances) of one of the following:

Otherwise, a PofSerializer for each key and value of the Map must be obtainable from the PofContext associated with this PofWriter.

Additionally, the type of each key must be equal to the specified class.

Specified by:
writeMap in interface PofWriter
Parameters:
iProp - the property index
map - the Map property to write
clzKey - the class of all keys; must not be null
Throws:
java.io.IOException - if an I/O error occurs

writeMap

public void writeMap(int iProp,
                     java.util.Map map,
                     java.lang.Class clzKey,
                     java.lang.Class clzValue)
              throws java.io.IOException
Write a uniform Map property to the POF stream.

Each key and value of the given Map must be an instance (or an array of instances) of one of the following:

Otherwise, a PofSerializer for each key and value of the Map must be obtainable from the PofContext associated with this PofWriter.

Additionally, the type of each key and value must be equal to the specified key class and value class respectively.

Specified by:
writeMap in interface PofWriter
Parameters:
iProp - the property index
map - the Map property to write
clzKey - the class of all keys; must not be null
clzValue - the class of all values; must not be null
Throws:
java.io.IOException - if an I/O error occurs

getPofContext

public PofContext getPofContext()
Return the PofContext object used by this PofWriter to serialize user types to a POF stream.
Specified by:
getPofContext in interface PofWriter
Returns:
the PofContext object that contains user type meta-data

setPofContext

public void setPofContext(PofContext ctx)
Configure the PofContext object used by this PofWriter to serialize user types to 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 = writer.getPofContext();
 try
     {
     // switch to another PofContext
     PofContext ctxNew = ...;
     writer.setContext(ctxNew);

     // output POF data using the writer
     }
 finally
     {
     // restore the original PofContext
     writer.setPofContext(ctxOrig);
     }
 
Specified by:
setPofContext in interface PofWriter
Parameters:
ctx - the new PofContext; must not be null

getUserTypeId

public int getUserTypeId()
Determine the user type that is currently being written.
Specified by:
getUserTypeId in interface PofWriter
Returns:
the user type identifier, or -1 if the PofWriter is not currently writing a user type

getVersionId

public int getVersionId()
Determine the version identifier of the user type that is currently being written.
Specified by:
getVersionId in interface PofWriter
Returns:
the integer version ID of the user type; always non-negative

setVersionId

public void setVersionId(int nVersionId)
Set the version identifier of the user type that is currently being written.
Specified by:
setVersionId in interface PofWriter
Parameters:
nVersionId - the user type identifier; must be non-negative

createNestedPofWriter

public PofWriter createNestedPofWriter(int iProp)
                                throws java.io.IOException
Obtain a PofWriter that can be used to write a set of properties into a single property of the current user type. The returned PofWriter is only valid from the time that it is returned until the next call is made to this PofWriter.
Specified by:
createNestedPofWriter in interface PofWriter
Parameters:
iProp - the property index
Returns:
a PofWriter whose contents are nested into a single property of this PofWriter
Throws:
java.io.IOException - if an I/O error occurs

writeRemainder

public void writeRemainder(Binary binProps)
                    throws java.io.IOException
Write the remaining properties to the POF stream, terminating the writing of the currrent user type. As part of writing out a user type, this method must be called by the PofSerializer that is writing out the user type, or the POF stream will be corrupted.

Calling this method terminates the current user type by writing a -1 to the POF stream after the last indexed property. Subsequent calls to the various writeXYZ methods of this interface will fail after this method is called.

Specified by:
writeRemainder in interface PofWriter
Parameters:
binProps - a Binary object containing zero or more indexed properties in binary POF encoded form; may be null
Throws:
java.io.IOException - if an I/O error occurs

getParentWriter

protected PofBufferWriter getParentWriter()
If this writer is contextually within a user type, obtain the writer which created this writer in order to write the user type.
Returns:
the containing writer

beginProperty

protected void beginProperty(int iProp)
                      throws java.io.IOException
Report that a POF property is about to be written to the POF stream.

This method call will be followed by one or more separate calls to a "write" method and the property extent will then be terminated by a call to endProperty(int).

Parameters:
iProp - the index of the property being written
Throws:
java.lang.IllegalArgumentException - if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream
java.io.IOException - if an I/O error occurs

endProperty

protected void endProperty(int iProp)
Signifies the termination of the current POF property.
Parameters:
iProp - the index of the current property

onException

protected void onException(java.lang.Exception e)
                    throws java.io.IOException
Called when an unexpected exception is caught while writing to the POF stream.

If the given exception wraps an IOException, the IOException is unwrapped and rethrown; otherwise the given exception is rethrown.

Parameters:
e - the exception
Throws:
java.io.IOException - the wrapped IOException, if the given exception is a wrapped IOException

getNanos

protected static int getNanos(java.util.Date dt)
Extract the nanoseconds from the date. This number represents a fraction of a second in the passed-in date expressed with a nanosecond resolution.
Parameters:
dt - the Date object to extract the nanoseconds from
Returns:
the number of nanoseconds in the date

assertEqual

protected static void assertEqual(java.lang.Class clz,
                                  java.lang.Class clzTest)
Assert that a class is equal to another class.
Parameters:
clz - the expected class; must not be null
clzTest - the class to test for equality; must not be null
Throws:
java.lang.IllegalArgumentException - if the second class is not equal to the first

getBufferOutput

protected WriteBuffer.BufferOutput getBufferOutput()
Return the BufferOutput that this PofBufferWriter writes to.
Returns:
the BufferOutput

getPofHandler

protected WritingPofHandler getPofHandler()
Return the WritingPofHandler used internally by this PofBufferWriter to write the POF stream.
Returns:
the PofHandler

enableReference

public void enableReference()
Ensure that reference support (necessary for cyclic dependencies) is enabled.

isReferenceEnabled

public boolean isReferenceEnabled()
Determine if reference support is enabled.
Returns:
true iff reference support is enabled

isEvolvable

protected boolean isEvolvable()
Determine if the object to be written is either Evolvable or part of an Evolvable object.
Returns:
true iff the object to be written is Evolvable

setEvolvable

protected void setEvolvable(boolean fEvolvable)
Set the Evolvable flag to indicate if the object to be written is Evolvable or part of an Evolvable object.
Parameters:
fEvolvable - true iff the object to be written is Evolvable

Skip navigation links

Oracle® Fusion Middleware Java API Reference for Oracle Coherence
12c (12.1.3.0.0)

E47890-01


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