com.sleepycat.bdb.bind.serial
Class TupleSerialMarshalledKeyExtractor
java.lang.Object
com.sleepycat.bdb.bind.serial.TupleSerialKeyExtractor
com.sleepycat.bdb.bind.serial.TupleSerialMarshalledKeyExtractor
- All Implemented Interfaces:
- KeyExtractor
public class TupleSerialMarshalledKeyExtractor
- extends TupleSerialKeyExtractor
A concrete key extractor that works in conjunction with a TupleSerialMarshalledBinding. This key extractor works by calling the
methods of the MarshalledTupleKeyEntity interface to extract and
clear the index key data.
|
Method Summary |
void |
clearIndexKey(java.lang.Object valueInput)
Clears the index key in the deserialized value data. |
void |
extractIndexKey(TupleInput primaryKeyInput,
java.lang.Object valueInput,
TupleOutput indexKeyOutput)
Extracts the index key data from primary key tuple data and deserialized
value data. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TupleSerialMarshalledKeyExtractor
public TupleSerialMarshalledKeyExtractor(TupleSerialMarshalledBinding binding,
TupleFormat indexKeyFormat,
java.lang.String keyName,
boolean usePrimaryKey,
boolean useValue)
- Creates a tuple-serial marshalled key extractor.
- Parameters:
binding - is the binding used for the tuple-serial 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,
java.lang.Object valueInput,
TupleOutput indexKeyOutput)
throws java.io.IOException
- Description copied from class:
TupleSerialKeyExtractor
- Extracts the index key data from primary key tuple data and deserialized
value data.
- Specified by:
extractIndexKey in class TupleSerialKeyExtractor
- 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 deserialized 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(java.lang.Object valueInput)
throws java.io.IOException
- Description copied from class:
TupleSerialKeyExtractor
- Clears the index key in the deserialized value data.
- Specified by:
clearIndexKey in class TupleSerialKeyExtractor
- Parameters:
valueInput - is the source and destination deserialized value
data. On entry this contains the index key to be cleared. It should be
changed by this method such that TupleSerialKeyExtractor.extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer) will extract a
null key (not output any tuple data). Other data in the value object
should remain unchanged.
- Throws:
java.io.IOException