com.sleepycat.bdb.bind.tuple
Class TupleTupleMarshalledKeyExtractor
java.lang.Object
com.sleepycat.bdb.bind.tuple.TupleTupleKeyExtractor
com.sleepycat.bdb.bind.tuple.TupleTupleMarshalledKeyExtractor
- All Implemented Interfaces:
- KeyExtractor
public class TupleTupleMarshalledKeyExtractor
- extends TupleTupleKeyExtractor
A concrete key extractor that works in conjunction with a TupleTupleMarshalledBinding
. This key extractor works by calling the
methods of the MarshalledTupleKeyEntity
interface to extract and
clear the index key data.
Note that a marshalled tuple key extractor is somewhat less efficient
than a non-marshalled key tuple extractor because more conversions are
needed. A marshalled key extractor must convert the data to an object in
order to extract the key data, while an unmarshalled key extractor does
not.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TupleTupleMarshalledKeyExtractor
public TupleTupleMarshalledKeyExtractor(TupleTupleMarshalledBinding binding,
TupleFormat indexKeyFormat,
java.lang.String keyName,
boolean usePrimaryKey,
boolean useValue)
- Creates a tuple-tuple marshalled key extractor.
- Parameters:
binding
- is the binding used for the tuple-tuple entity.indexKeyFormat
- is the index key format.keyName
- is the key name passed to the MarshalledTupleKeyEntity.marshalIndexKey(java.lang.String, com.sleepycat.bdb.bind.tuple.TupleOutput)
method to identify the index
key.usePrimaryKey
- is true if the primary key data is used to
construct the index key.useValue
- is true if the value data is used to construct the index
key.
extractIndexKey
public void extractIndexKey(TupleInput primaryKeyInput,
TupleInput valueInput,
TupleOutput indexKeyOutput)
throws java.io.IOException
- Description copied from class:
TupleTupleKeyExtractor
- Extracts the index key data from primary
key tuple and value tuple data.
- Specified by:
extractIndexKey
in class TupleTupleKeyExtractor
- Parameters:
primaryKeyInput
- is the TupleInput
for the primary key
data, or null if no primary key data is used to construct the index key.valueInput
- is the TupleInput
for the value data, or null
if no value data is used to construct the index key.indexKeyOutput
- is the destination index key tuple. For index
keys which are optionally present, no tuple data should be output to
indicate that the key is not present or null.
- Throws:
java.io.IOException
clearIndexKey
public void clearIndexKey(TupleInput valueInput,
TupleOutput valueOutput)
throws java.io.IOException
- Description copied from class:
TupleTupleKeyExtractor
- Clears the index key in the tuple value data. The valueInput should be
read and then written to the valueOutput, clearing the index key in the
- Specified by:
clearIndexKey
in class TupleTupleKeyExtractor
- Parameters:
valueInput
- is the TupleInput
for the value data.valueOutput
- is the destination TupleOutput
.
- Throws:
java.io.IOException