Package com.sleepycat.bind.tuple

## Class TupleTupleBinding<E>

- java.lang.Object
- - com.sleepycat.bind.tuple.TupleBase<E>
  - - com.sleepycat.bind.tuple.TupleTupleBinding<E>

All Implemented Interfaces:
  `EntityBinding<E>`

Direct Known Subclasses:
  `TupleTupleMarshalledBinding`

    public abstract class TupleTupleBinding<E>
    extends TupleBase<E>
    implements EntityBinding<E>

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

This class takes care of converting the entries to/from `TupleInput` and `TupleOutput` objects. Its three abstract methods must be implemented by a concrete subclass to convert between tuples and entity objects.

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

### Constructor Summary

Constructors
`TupleTupleBinding()` Creates a tuple-tuple entity binding.

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`abstract E` `entryToObject​(TupleInput keyInput, TupleInput dataInput)` Constructs an entity object from `TupleInput` key and data entries.
`E` `entryToObject​(DatabaseEntry key, DatabaseEntry data)` Converts key and data entry buffers into an entity Object.
`abstract void` `objectToData​(E object, TupleOutput output)` Extracts a key tuple from an entity object.
`void` `objectToData​(E object, DatabaseEntry data)` Extracts the data entry from an entity Object.
`abstract void` `objectToKey​(E object, TupleOutput output)` Extracts a key tuple from an entity object.
`void` `objectToKey​(E object, DatabaseEntry key)` Extracts the key entry from an entity Object.

### Methods inherited from class com.sleepycat.bind.tuple.TupleBase

`entryToInput, getTupleBufferSize, getTupleOutput, inputToEntry, newOutput, newOutput, outputToEntry, setTupleBufferSize`

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

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

### Constructor Detail

#### TupleTupleBinding

    public TupleTupleBinding()

Creates a tuple-tuple entity 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​(TupleInput keyInput,
                                    TupleInput dataInput)

Constructs an entity object from `TupleInput` key and data entries.

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

#### objectToKey

    public abstract void objectToKey​(E object,
                                     TupleOutput output)

Extracts a key tuple from an entity object.

Parameters:
  `object` - is the entity object.
  `output` - is the `TupleOutput` to which the key should be written.

#### objectToData

    public abstract void objectToData​(E object,
                                      TupleOutput output)

Extracts a key tuple from an entity object.

Parameters:
  `object` - is the entity object.
  `output` - is the `TupleOutput` to which the data should be written.