Class TupleSerialBinding<D,E>

java.lang.Object
com.sleepycat.bind.tuple.TupleBase
com.sleepycat.bind.serial.TupleSerialBinding<D,E>
All Implemented Interfaces:
EntityBinding<E>
Direct Known Subclasses:
TupleSerialMarshalledBinding

public abstract class TupleSerialBinding<D,E> extends TupleBase implements EntityBinding<E>
An abstract EntityBinding that treats an entity's key entry as a tuple and its data entry as a serialized object.

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

See Also:
  • Field Details

  • Constructor Details

    • TupleSerialBinding

      public TupleSerialBinding(ClassCatalog classCatalog, Class<D> baseClass)
      Creates a tuple-serial entity binding.
      Parameters:
      classCatalog - is the catalog to hold shared class information and for a database should be a StoredClassCatalog.
      baseClass - is the base class.
    • TupleSerialBinding

      public TupleSerialBinding(SerialBinding<D> dataBinding)
      Creates a tuple-serial entity binding.
      Parameters:
      dataBinding - is the data binding.
  • Method Details

    • 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<D>
      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<D>
      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<D>
      Parameters:
      object - is the source Object.
      data - is the destination entry buffer.
    • entryToObject

      public abstract E entryToObject(TupleInput keyInput, D dataInput)
      Constructs an entity object from TupleInput key entry and deserialized data entry objects.
      Parameters:
      keyInput - is the TupleInput key entry object.
      dataInput - is the deserialized data entry object.
      Returns:
      the entity object constructed from the key and data.
    • objectToKey

      public abstract void objectToKey(E object, TupleOutput keyOutput)
      Extracts a key tuple from an entity object.
      Parameters:
      object - is the entity object.
      keyOutput - is the TupleOutput to which the key should be written.
    • 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.