|
Berkeley DB version 5.3.28 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.sleepycat.bind.tuple.TupleBase<E>
public class TupleBase<E>
A base class for tuple bindings and tuple key creators that provides control over the allocation of the output buffer.
Tuple bindings and key creators append data to a TupleOutput
instance, which is also a FastOutputStream
instance. This object has a byte array buffer that is resized when it is
full. The reallocation of this buffer can be a performance factor for
some applications using large objects. To manage this issue, the setTupleBufferSize(int)
method may be used to control the initial size of the
buffer, and the getTupleOutput(E)
method may be overridden by
subclasses to take over creation of the TupleOutput object.
Constructor Summary | |
---|---|
TupleBase()
Initializes the initial output buffer size to zero. |
Method Summary | |
---|---|
static TupleInput |
entryToInput(DatabaseEntry entry)
Utility method to create a new tuple input object for reading the data from a given buffer. |
int |
getTupleBufferSize()
Returns the initial byte size of the output buffer. |
protected TupleOutput |
getTupleOutput(E object)
Returns an empty TupleOutput instance that will be used by the tuple binding or key creator. |
static void |
inputToEntry(TupleInput input,
DatabaseEntry entry)
Utility method to set the data in a entry buffer to the data in a tuple input object. |
static TupleOutput |
newOutput()
Deprecated. replaced by getTupleOutput(E) |
static TupleOutput |
newOutput(byte[] buffer)
Deprecated. replaced by getTupleOutput(E) |
static void |
outputToEntry(TupleOutput output,
DatabaseEntry entry)
Utility method to set the data in a entry buffer to the data in a tuple output object. |
void |
setTupleBufferSize(int byteSize)
Sets the initial byte size of the output buffer that is allocated by the default implementation of getTupleOutput(E) . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TupleBase()
Unless setTupleBufferSize(int)
is called, the default FastOutputStream.DEFAULT_INIT_SIZE
size will be
used.
Method Detail |
---|
public void setTupleBufferSize(int byteSize)
getTupleOutput(E)
.
If this property is zero (the default), the default FastOutputStream.DEFAULT_INIT_SIZE
size is used.
byteSize
- the initial byte size of the output buffer, or zero to
use the default size.public int getTupleBufferSize()
setTupleBufferSize(int)
protected TupleOutput getTupleOutput(E object)
The default implementation of this method creates a new TupleOutput
with an initial buffer size that can be changed using the 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.
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.
setTupleBufferSize(int)
public static void outputToEntry(TupleOutput output, DatabaseEntry entry)
output
- is the source tuple output object.entry
- is the destination entry buffer.public static void inputToEntry(TupleInput input, DatabaseEntry entry)
input
- is the source tuple input object.entry
- is the destination entry buffer.public static TupleInput entryToInput(DatabaseEntry entry)
entry
- is the source entry buffer.
public static TupleOutput newOutput()
getTupleOutput(E)
public static TupleOutput newOutput(byte[] buffer)
getTupleOutput(E)
|
Berkeley DB version 5.3.28 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |