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