Berkeley DB Java Edition version 3.2.13

## com.sleepycat.bind.tuple
Class TupleBinding

    java.lang.Object
      com.sleepycat.bind.tuple.TupleBase
          com.sleepycat.bind.tuple.TupleBinding

All Implemented Interfaces:
  EntryBinding

Direct Known Subclasses:
  BigIntegerBinding, BooleanBinding, ByteBinding, CharacterBinding, DoubleBinding, FloatBinding, IntegerBinding, LongBinding, ShortBinding, SortedDoubleBinding, SortedFloatBinding, StringBinding, TupleMarshalledBinding

    public abstract class TupleBinding

extends TupleBase
implements EntryBinding

An abstract `EntryBinding` that treats a key or data entry as a tuple; it includes predefined bindings for Java primitive types.

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

- `entryToObject(TupleInput)`
- `objectToEntry(Object,TupleOutput)`

For key or data entries which are Java primitive classes (String, Integer, etc) `getPrimitiveBinding(java.lang.Class)` may be used to return a builtin tuple binding. A custom tuple binding for these types is not needed. Note: `getPrimitiveBinding(java.lang.Class)` returns bindings that do not sort negative floating point numbers correctly by default. See `SortedFloatBinding` and `SortedDoubleBinding` for details.

When a tuple binding is used as a key binding, it produces key values with a reasonable default sort order. For more information on the default sort order, see `TupleOutput`.

Author:
  Mark Hayes

Constructor Summary
`TupleBinding()` Creates a tuple binding.

Method Summary
`Object` `entryToObject(DatabaseEntry entry)` Converts a entry buffer into an Object.
`abstract Object` `entryToObject(TupleInput input)` Constructs a key or data object from a `TupleInput` entry.
`static TupleBinding` `getPrimitiveBinding(Class cls)` Creates a tuple binding for a primitive Java class.
`void` `objectToEntry(Object object, DatabaseEntry entry)` Converts an Object into a entry buffer.
`abstract void` `objectToEntry(Object object, TupleOutput output)` Converts a key or data object to a tuple entry.

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

### TupleBinding

    public TupleBinding()

  Creates a tuple binding.

Method Detail

### entryToObject

    public Object entryToObject(DatabaseEntry entry)

  Description copied from interface: `EntryBinding`
  Converts a entry buffer into an Object.

  Specified by:
    `entryToObject` in interface `EntryBinding`
  Parameters:
    `entry` - is the source entry buffer.
  Returns:
    the resulting Object.

### objectToEntry

    public void objectToEntry(Object object,
                              DatabaseEntry entry)

  Description copied from interface: `EntryBinding`
  Converts an Object into a entry buffer.

  Specified by:
    `objectToEntry` in interface `EntryBinding`
  Parameters:
    `object` - is the source Object.
    `entry` - is the destination entry buffer.

### entryToObject

    public abstract Object entryToObject(TupleInput input)

  Constructs a key or data object from a `TupleInput` entry.

  Parameters:
    `input` - is the tuple key or data entry.
  Returns:
    the key or data object constructed from the entry.

### objectToEntry

    public abstract void objectToEntry(Object object,
                                       TupleOutput output)

  Converts a key or data object to a tuple entry.

  Parameters:
    `object` - is the key or data object.
    `output` - is the tuple entry to which the key or data should be written.

### getPrimitiveBinding

    public static TupleBinding getPrimitiveBinding(Class cls)

  Creates a tuple binding for a primitive Java class. The following Java classes are supported.
  - `String`
  - `Character`
  - `Boolean`
  - `Byte`
  - `Short`
  - `Integer`
  - `Long`
  - `Float`
  - `Double`

  Note: `getPrimitiveBinding(java.lang.Class)` returns bindings that do not sort negative floating point numbers correctly by default. See `SortedFloatBinding` and `SortedDoubleBinding` for details.

  Parameters:
    `cls` - is the primitive Java class.
  Returns:
    a new binding for the primitive class or null if the cls parameter is not one of the supported classes.

Berkeley DB Java Edition version 3.2.13

Copyright 1996,2006 Oracle. All rights reserved.