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