org.eclipse.persistence.mappings.converters
Class SerializedObjectConverter

java.lang.Object
  extended by org.eclipse.persistence.mappings.converters.SerializedObjectConverter
All Implemented Interfaces:
Serializable, Converter

public class SerializedObjectConverter
extends Object
implements Converter

Purpose: The serialized object converter can be used to store an arbitrary object or set of objects into a database blob field. It uses the Java serializer so the target must be serializable.

Since:
OracleAS TopLink 10g (10.0.3)
Author:
James Sutherland
See Also:
Serialized Form

Constructor Summary
SerializedObjectConverter()
          PUBLIC: Default constructor.
SerializedObjectConverter(DatabaseMapping mapping)
          PUBLIC: Default constructor.
 
Method Summary
 Object convertDataValueToObjectValue(Object fieldValue, Session session)
          INTERNAL: The fieldValue will be a byte array.
 Object convertObjectValueToDataValue(Object attributeValue, Session session)
          INTERNAL: Convert the object to a byte array through serialize.
 void initialize(DatabaseMapping mapping, Session session)
          INTERNAL: Set the mapping.
 boolean isMutable()
          INTERNAL: If the converter converts the value to a non-atomic value, i.e.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SerializedObjectConverter

public SerializedObjectConverter()
PUBLIC: Default constructor.


SerializedObjectConverter

public SerializedObjectConverter(DatabaseMapping mapping)
PUBLIC: Default constructor.

Method Detail

convertDataValueToObjectValue

public Object convertDataValueToObjectValue(Object fieldValue,
                                            Session session)
                                     throws DescriptorException
INTERNAL: The fieldValue will be a byte array. Create a ByteArrayInputStream on the fieldValue. Create an ObjectInputStream on the ByteArrayInputStream to read in the objects.

Specified by:
convertDataValueToObjectValue in interface Converter
Throws:
DescriptorException

convertObjectValueToDataValue

public Object convertObjectValueToDataValue(Object attributeValue,
                                            Session session)
INTERNAL: Convert the object to a byte array through serialize.

Specified by:
convertObjectValueToDataValue in interface Converter

initialize

public void initialize(DatabaseMapping mapping,
                       Session session)
INTERNAL: Set the mapping.

Specified by:
initialize in interface Converter

isMutable

public boolean isMutable()
INTERNAL: If the converter converts the value to a non-atomic value, i.e. a value that can have its' parts changed without being replaced, then it must return false, serialization can be non-atomic.

Specified by:
isMutable in interface Converter