com.sleepycat.bind.tuple

## Class SortedPackedLongBinding

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

All Implemented Interfaces:
  EntryBinding<java.lang.Long>

    public class SortedPackedLongBinding
    extends TupleBinding<java.lang.Long>

A concrete `TupleBinding` for a sorted `Long` primitive wrapper or a sorted `long` primitive, that stores the value in the smallest number of bytes possible.

There are two ways to use this class:

1. When using the `com.sleepycat.db` package directly, the static methods in this class can be used to convert between primitive values and `DatabaseEntry` objects.
2. When using the `com.sleepycat.collections` package, an instance of this class can be used with any stored collection.

See Also:
  Integer Formats

### Constructor Summary

Constructors
Constructor and Description
`SortedPackedLongBinding()`

### Method Summary

Methods
`static java.lang.Long` `entryToLong(DatabaseEntry entry)` Converts an entry buffer into a simple `Long` value.
`java.lang.Long` `entryToObject(TupleInput input)` Constructs a key or data object from a `TupleInput` entry.
`protected TupleOutput` `getTupleOutput(java.lang.Long object)` Returns an empty TupleOutput instance that will be used by the tuple binding or key creator.
`static void` `longToEntry(long val, DatabaseEntry entry)` Converts a simple `Long` value into an entry buffer, using SortedPackedLong format.
`void` `objectToEntry(java.lang.Long object, TupleOutput output)` Converts a key or data object to a tuple entry.

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

`entryToObject, getPrimitiveBinding, objectToEntry`

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

`entryToInput, getTupleBufferSize, 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

#### SortedPackedLongBinding

    public SortedPackedLongBinding()

### Method Detail

#### entryToObject

    public java.lang.Long entryToObject(TupleInput input)

Description copied from class: `TupleBinding`
Constructs a key or data object from a `TupleInput` entry.

Specified by:
  `entryToObject` in class `TupleBinding<java.lang.Long>`
Parameters:
  `input` - is the tuple key or data entry.
Returns:
  the key or data object constructed from the entry.

#### objectToEntry

    public void objectToEntry(java.lang.Long object,
                     TupleOutput output)

Description copied from class: `TupleBinding`
Converts a key or data object to a tuple entry.

Specified by:
  `objectToEntry` in class `TupleBinding<java.lang.Long>`
Parameters:
  `object` - is the key or data object.
  `output` - is the tuple entry to which the key or data should be written.

#### getTupleOutput

    protected TupleOutput getTupleOutput(java.lang.Long object)

Description copied from class: `TupleBase`
Returns an empty TupleOutput instance that will be used by the tuple binding or key creator.

The default implementation of this method creates a new TupleOutput with an initial buffer size that can be changed using the `TupleBase.setTupleBufferSize(int)` method.

This method may be overridden to return a TupleOutput instance. For example, an instance per thread could be created and returned by this method. If a TupleOutput instance is reused, be sure to call its `FastOutputStream.reset()` method before each use.

Overrides:
  `getTupleOutput` in class `TupleBase<java.lang.Long>`
Parameters:
  `object` - is the object to be written to the tuple output, and may be used by subclasses to determine the size of the output buffer.
Returns:
  an empty TupleOutput instance.
See Also:
  `TupleBase.setTupleBufferSize(int)`

#### entryToLong

    public static java.lang.Long entryToLong(DatabaseEntry entry)

Converts an entry buffer into a simple `Long` value.

Parameters:
  `entry` - is the source entry buffer.
Returns:
  the resulting value.

#### longToEntry

    public static void longToEntry(long val,
                   DatabaseEntry entry)

Converts a simple `Long` value into an entry buffer, using SortedPackedLong format.

Parameters:
  `val` - is the source value.
  `entry` - is the destination entry buffer.