Package 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 | 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
    Modifier and Type | Method | Description
    --- | --- | ---
    `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<K>`
      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<K>`
      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<K>`
      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.

Copyright (c) 1996, 2020 Oracle and/or its affiliates. All rights reserved.