com.sleepycat.bind.serial

## Class SerialSerialBinding<K,D,E>

- java.lang.Object
- - com.sleepycat.bind.serial.SerialSerialBinding<K,D,E>

All Implemented Interfaces:
  EntityBinding<E>

    public abstract class SerialSerialBinding<K,D,E>
    extends java.lang.Object
    implements EntityBinding<E>

An abstract `EntityBinding` that treats an entity's key entry and data entry as serialized objects.

This class takes care of serializing and deserializing the key and data entry automatically. Its three abstract methods must be implemented by a concrete subclass to convert the deserialized objects to/from an entity object.

- `entryToObject(Object,Object)`
- `objectToKey(Object)`
- `objectToData(Object)`

See Also:
  Class Evolution

### Constructor Summary

Constructors
Constructor and Description
`SerialSerialBinding(ClassCatalog classCatalog, java.lang.Class<K> keyClass, java.lang.Class<D> dataClass)` Creates a serial-serial entity binding.
`SerialSerialBinding(SerialBinding<K> keyBinding, SerialBinding<D> dataBinding)` Creates a serial-serial entity binding.

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`E` `entryToObject(DatabaseEntry key, DatabaseEntry data)` Converts key and data entry buffers into an entity Object.
`abstract E` `entryToObject(K keyInput, D dataInput)` Constructs an entity object from deserialized key and data objects.
`abstract D` `objectToData(E object)` Extracts a data object from an entity object.
`void` `objectToData(E object, DatabaseEntry data)` Extracts the data entry from an entity Object.
`abstract K` `objectToKey(E object)` Extracts a key object from an entity object.
`void` `objectToKey(E object, DatabaseEntry key)` Extracts the key entry from an entity Object.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SerialSerialBinding

    public SerialSerialBinding(ClassCatalog classCatalog,
                               java.lang.Class<K> keyClass,
                               java.lang.Class<D> dataClass)

Creates a serial-serial entity binding.

Parameters:
  `classCatalog` - is the catalog to hold shared class information and for a database should be a `StoredClassCatalog`.
  `keyClass` - is the key base class.
  `dataClass` - is the data base class.

#### SerialSerialBinding

    public SerialSerialBinding(SerialBinding<K> keyBinding,
                               SerialBinding<D> dataBinding)

Creates a serial-serial entity binding.

Parameters:
  `keyBinding` - is the key binding.
  `dataBinding` - is the data binding.

### Method Detail

#### entryToObject

    public E entryToObject(DatabaseEntry key,
                           DatabaseEntry data)

Description copied from interface: `EntityBinding`
Converts key and data entry buffers into an entity Object.

Specified by:
  `entryToObject` in interface `EntityBinding<E>`
Parameters:
  `key` - is the source key entry.
  `data` - is the source data entry.
Returns:
  the resulting Object.

#### objectToKey

    public void objectToKey(E object,
                            DatabaseEntry key)

Description copied from interface: `EntityBinding`
Extracts the key entry from an entity Object.

Specified by:
  `objectToKey` in interface `EntityBinding<E>`
Parameters:
  `object` - is the source Object.
  `key` - is the destination entry buffer.

#### objectToData

    public void objectToData(E object,
                             DatabaseEntry data)

Description copied from interface: `EntityBinding`
Extracts the data entry from an entity Object.

Specified by:
  `objectToData` in interface `EntityBinding<E>`
Parameters:
  `object` - is the source Object.
  `data` - is the destination entry buffer.

#### entryToObject

    public abstract E entryToObject(K keyInput,
                                    D dataInput)

Constructs an entity object from deserialized key and data objects.

Parameters:
  `keyInput` - is the deserialized key object.
  `dataInput` - is the deserialized data object.
Returns:
  the entity object constructed from the key and data.

#### objectToKey

    public abstract K objectToKey(E object)

Extracts a key object from an entity object.

Parameters:
  `object` - is the entity object.
Returns:
  the deserialized key object.

#### objectToData

    public abstract D objectToData(E object)

Extracts a data object from an entity object.

Parameters:
  `object` - is the entity object.
Returns:
  the deserialized data object.