Class PortableObjectSerializer

java.lang.Object
com.tangosol.util.Base
com.tangosol.io.pof.PofHelper
com.tangosol.io.pof.PortableObjectSerializer
All Implemented Interfaces:
PofConstants, PofSerializer

public class PortableObjectSerializer extends PofHelper implements PofSerializer
PofSerializer implementation that supports the serialization and deserialization of any class that implements PortableObject to and from a POF stream.
Since:
Coherence 3.2
Author:
jh 2006.07.18
  • Field Details

    • m_nTypeId

      protected final int m_nTypeId
      The type identifier of the user type to serialize and deserialize.
  • Constructor Details

    • PortableObjectSerializer

      public PortableObjectSerializer(int nTypeId)
      Create a new PortableObjectSerializer for the user type with the given type identifier.
      Parameters:
      nTypeId - the user type identifier
  • Method Details

    • serialize

      public void serialize(PofWriter out, Object o) throws IOException
      Serialize a user type instance to a POF stream by writing its state using the specified PofWriter object.

      An implementation of PofSerializer is required to follow the following steps in sequence for writing out an object of a user type:

      1. If the object is evolvable, the implementation must set the version by calling PofWriter.setVersionId(int).
      2. The implementation may write any combination of the properties of the user type by using the "write" methods of the PofWriter, but it must do so in the order of the property indexes.
      3. After all desired properties of the user type have been written, the implementation must terminate the writing of the user type by calling PofWriter.writeRemainder(com.tangosol.util.Binary).
      Specified by:
      serialize in interface PofSerializer
      Parameters:
      out - the PofWriter with which to write the object's state
      o - the object to serialize
      Throws:
      IOException - if an I/O error occurs
    • deserialize

      public Object deserialize(PofReader in) throws IOException
      Deserialize a user type instance from a POF stream by reading its state using the specified PofReader object.

      An implementation of PofSerializer is required to follow the following steps in sequence for reading in an object of a user type:

      1. If the object is evolvable, the implementation must get the version by calling PofReader.getVersionId().
      2. The implementation may read any combination of the properties of the user type by using "read" methods of the PofReader, but it must do so in the order of the property indexes. Additionally, the implementation must call PofReader.registerIdentity(java.lang.Object) with the new instance prior to reading any properties which are user type instances themselves.
      3. After all desired properties of the user type have been read, the implementation must terminate the reading of the user type by calling PofReader.readRemainder().
      Specified by:
      deserialize in interface PofSerializer
      Parameters:
      in - the PofReader with which to read the object's state
      Returns:
      the deserialized user type instance
      Throws:
      IOException - if an I/O error occurs
    • initialize

      public void initialize(PortableObject portable, PofReader in) throws IOException
      Initialize the specified (newly instantiated) PortableObject instance using the specified reader.
      Parameters:
      portable - the object to initialize
      in - the PofReader with which to read the object's state
      Throws:
      IOException - if an I/O error occurs