Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Berkeley DB Java Edition version 3.3.82
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sleepycat.bind.tuple
Class TupleBinding<E>

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

All Implemented Interfaces:
  EntryBinding<E>

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

    public abstract class TupleBinding<E>

extends TupleBase<E>
implements EntryBinding<E>

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 built in 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
`E` | `entryToObject(DatabaseEntry entry)` Converts a entry buffer into an Object.
`abstract E` | `entryToObject(TupleInput input)` Constructs a key or data object from a `TupleInput` entry.
`static
`<T> TupleBinding<T>`
` | `getPrimitiveBinding(Class<T> cls)` Creates a tuple binding for a primitive Java class.
`void` | `objectToEntry(E object, DatabaseEntry entry)` Converts an Object into a entry buffer.
`abstract void` | `objectToEntry(E 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 E entryToObject(DatabaseEntry entry)

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

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

### objectToEntry

    public void objectToEntry(E object,
                              DatabaseEntry entry)

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

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

### entryToObject

    public abstract E 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(E 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 <T> TupleBinding<T> getPrimitiveBinding(Class<T> 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Berkeley DB Java Edition version 3.3.82
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2004,2008 Oracle. All rights reserved.