Berkeley DB
version 4.8.30

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

java.lang.Object
  extended by com.sleepycat.bind.tuple.TupleBase<E>
      extended by 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.

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.


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.

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
version 4.8.30

Copyright (c) 1996-2009 Oracle. All rights reserved.