Interface PofSerializer<T>
- All Known Implementing Classes:
AtomicBoolean.Serializer
,AtomicInteger.Serializer
,AtomicLong.Serializer
,AtomicMarkableReference.Serializer
,AtomicReference.Serializer
,AtomicStampedReference.Serializer
,EnumPofSerializer
,ExternalizableLitePofSerializer
,ExternalizablePofSerializer
,InetAddressSerializer
,InetSocketAddressSerializer
,JsonMap.Serializer
,OptionalDoubleSerializer
,OptionalIntSerializer
,OptionalLongSerializer
,OptionalSerializer
,PofAnnotationSerializer
,PortableObjectSerializer
,PortableTypeSerializer
,PrincipalPofSerializer
,SafeConfigurablePofContext.ExternalSerializer
,SafeConfigurablePofContext.JavaPofSerializer
,SafeConfigurablePofContext.SafePofSerializer
,SerializableSerializer
,SubjectPofSerializer
,ThrowablePofSerializer
,XmlSerializablePofSerializer
In order to support hot-deploying containers, it is important in the case of a PofSerializer implementation that requires ClassLoader context that it not hold any strong references to that ClassLoader, or to any Class objects obtained from that ClassLoader.
Note: it is extremely important that objects that are equivalent according to their "equals()" implementation produce equivalent serialized streams. Violating this relationship will result in non-deterministic behavior for many Coherence services.
- Since:
- Coherence 3.2
- Author:
- cp/jh 2007.07.14
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondeserialize
(PofReader in) Deserialize a user type instance from a POF stream by reading its state using the specified PofReader object.void
Serialize a user type instance to a POF stream by writing its state using the specified PofWriter object.
-
Method Details
-
serialize
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:
- If the object is evolvable, the implementation must set the version
by calling
PofWriter.setVersionId(int)
. - 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.
- 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)
.
- Parameters:
out
- the PofWriter with which to write the object's statevalue
- the object to serialize- Throws:
IOException
- if an I/O error occurs
- If the object is evolvable, the implementation must set the version
by calling
-
deserialize
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:
- If the object is evolvable, the implementation must get the version
by calling
PofReader.getVersionId()
. - 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. - 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()
.
- 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
- If the object is evolvable, the implementation must get the version
by calling
-