com.sleepycat.persist.impl
Class ComplexFormat

java.lang.Object
  extended by com.sleepycat.persist.impl.Format
      extended by com.sleepycat.persist.impl.ComplexFormat
All Implemented Interfaces:
RawType, java.io.Serializable

public class ComplexFormat
extends Format

Format for persistent complex classes that are not composite key classes. This includes entity classes and subclasses.

See Also:
Serialized Form

Method Summary
 ClassMetadata getClassMetadata()
          Returns the original model class metadata used to create this class, or null if this is not a model class.
 EntityMetadata getEntityMetadata()
          Returns the original model entity metadata used to create this class, or null if this is not an entity class.
 java.util.Map<java.lang.String,RawField> getFields()
          Returns a map of field name to raw field for each non-static non-transient field declared in this class, or null if this is not a complex type (in other words, this is a simple type or an array type).
 java.lang.String getOldKeyName(java.lang.String keyName)
          For an entity class or subclass, returns the old key name for the given key name that has been renamed, or returns the given key name if it has not been renamed.
 java.lang.Object newInstance(EntityInput input, boolean rawAccess)
          Creates a new instance of the target class using its default constructor.
 java.lang.Object readObject(java.lang.Object o, EntityInput input, boolean rawAccess)
          Called after newInstance() to read the rest of the data bytes and fill in the object contents.
 void readPriKey(java.lang.Object o, EntityInput input, boolean rawAccess)
          Reads the primary key from the given input bytes and sets the primary key field in the given object.
 
Methods inherited from class com.sleepycat.persist.impl.Format
getClassName, getComponentType, getDimensions, getEnumConstants, getId, getPreviousVersion, getSuperType, getVersion, initializeReader, isArray, isDeleted, isEnum, isPrimitive, isSimple, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getClassMetadata

public ClassMetadata getClassMetadata()
Description copied from interface: RawType
Returns the original model class metadata used to create this class, or null if this is not a model class.

Specified by:
getClassMetadata in interface RawType
Overrides:
getClassMetadata in class Format

getEntityMetadata

public EntityMetadata getEntityMetadata()
Description copied from interface: RawType
Returns the original model entity metadata used to create this class, or null if this is not an entity class.

Specified by:
getEntityMetadata in interface RawType
Overrides:
getEntityMetadata in class Format

getFields

public java.util.Map<java.lang.String,RawField> getFields()
Description copied from interface: RawType
Returns a map of field name to raw field for each non-static non-transient field declared in this class, or null if this is not a complex type (in other words, this is a simple type or an array type).

Specified by:
getFields in interface RawType
Overrides:
getFields in class Format

newInstance

public java.lang.Object newInstance(EntityInput input,
                                    boolean rawAccess)
Description copied from class: Format
Creates a new instance of the target class using its default constructor. Normally this creates an empty object, and readObject() is called next to fill in the contents. This is done in two steps to allow the instance to be registered by EntityInput before reading the contents. This allows the fields in an object or a nested object to refer to the parent object in a graph. Alternatively, this method may read all or the first portion of the data, rather than that being done by readObject(). This is required for simple types and enums, where the object cannot be created without reading the data. In these cases, there is no possibility that the parent object will be referenced by the child object in the graph. It should not be done in other cases, or the graph references may not be maintained faithfully. Is public only in order to implement the Reader interface. Note that this method should only be called directly in raw conversion mode or during conversion of an old format. Normally it should be called via the getReader method and the Reader interface.

Specified by:
newInstance in class Format

readObject

public java.lang.Object readObject(java.lang.Object o,
                                   EntityInput input,
                                   boolean rawAccess)
Description copied from class: Format
Called after newInstance() to read the rest of the data bytes and fill in the object contents. If the object was read completely by newInstance(), this method does nothing. Is public only in order to implement the Reader interface. Note that this method should only be called directly in raw conversion mode or during conversion of an old format. Normally it should be called via the getReader method and the Reader interface.

Specified by:
readObject in class Format

readPriKey

public void readPriKey(java.lang.Object o,
                       EntityInput input,
                       boolean rawAccess)
Description copied from class: Format
Reads the primary key from the given input bytes and sets the primary key field in the given object. This is complement of writePriKey(). Is public only in order to implement the Reader interface. Note that this method should only be called directly in raw conversion mode or during conversion of an old format. Normally it should be called via the getReader method and the Reader interface.

Overrides:
readPriKey in class Format

getOldKeyName

public java.lang.String getOldKeyName(java.lang.String keyName)
Description copied from class: Format
For an entity class or subclass, returns the old key name for the given key name that has been renamed, or returns the given key name if it has not been renamed.

Overrides:
getOldKeyName in class Format