Class PofAnnotationSerializer<T>
- Type Parameters:
 T- the user type this PofAnnotationSerializer will (de)serialize
- All Implemented Interfaces:
 PofSerializer
PofAnnotationSerializer provides annotation based
 de/serialization. This serializer must be instantiated with the intended
 class which is eventually scanned for the presence of the following
 annotations.
 
 
 This serializer supports classes iff they are annotated with the type
 level annotation; Portable. This annotation is a marker annotation
 with no children.
 
 All fields annotated with PortableProperty are explicitly
 deemed POF serializable with the option of specifying overrides to
 provide explicit behaviour such as:
 
- explicit POF indexes
 - Custom 
Codec<T> to specify concrete implementations / customizations 
 The PortableProperty.value() (POF index) can be omitted iff the
 auto-indexing feature is enabled. This is enabled by instantiating this
 class with the fAutoIndex constructor argument. This feature
 determines the index based on any explicit indexes specified and the name
 of the portable properties. Currently objects with multiple versions is
 not supported. The following illustrates the auto index algorithm:
 
| Name | Explicit Index | Determined Index | 
| c | 1 | 1 | 
| a | 0 | |
| b | 2 | 
NOTE: This implementation does support objects that implement Evolvable
- Since:
 - 3.7.1
 - Author:
 - hr
 - See Also:
 
- 
Constructor Summary
ConstructorsConstructorDescriptionPofAnnotationSerializer(int nTypeId, Class<T> clz) Constructs a PofAnnotationSerializer.PofAnnotationSerializer(int nTypeId, Class<T> clz, boolean fAutoIndex) Constructs a PofAnnotationSerializer. - 
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.protected com.tangosol.io.pof.reflect.internal.TypeMetadata<T> Return theTypeMetadatainstance that holds structural information regarding the class this serializer (de)serializes.voidSerialize a user type instance to a POF stream by writing its state using the specified PofWriter object. 
- 
Constructor Details
- 
PofAnnotationSerializer
Constructs a PofAnnotationSerializer.- Parameters:
 nTypeId- the POF type idclz- type this serializer is aware of
 - 
PofAnnotationSerializer
Constructs a PofAnnotationSerializer.- Parameters:
 nTypeId- the POF type idclz- type this serializer is aware offAutoIndex- turns on the auto index feature
 
 - 
 - 
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). 
- Specified by:
 serializein interfacePofSerializer<T>- Parameters:
 out- the PofWriter with which to write the object's stateo- 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(). 
- Specified by:
 deserializein interfacePofSerializer<T>- 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 
 - 
getTypeMetadata
Return theTypeMetadatainstance that holds structural information regarding the class this serializer (de)serializes.- Returns:
 - a TypeMetadata instance for the class this serializer (de)serializes
 
 
 -