Berkeley DB
version 4.2.52

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.


Constructor Summary
TupleSerialMarshalledKeyExtractor(TupleSerialMarshalledBinding binding, TupleFormat indexKeyFormat, String keyName, boolean usePrimaryKey, boolean useValue)
          Creates a tuple-serial marshalled key extractor.
 
Method Summary
 void clearIndexKey(Object valueInput)
          Clears the index key in the deserialized value data.
 void extractIndexKey(TupleInput primaryKeyInput, Object valueInput, TupleOutput indexKeyOutput)
          Extracts the index key data from primary key tuple data and deserialized value data.
 
Methods inherited from class com.sleepycat.bdb.bind.serial.TupleSerialKeyExtractor
clearIndexKey, extractIndexKey, getIndexKeyFormat, getPrimaryKeyFormat, getValueFormat
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TupleSerialMarshalledKeyExtractor

public TupleSerialMarshalledKeyExtractor(TupleSerialMarshalledBinding binding,
                                         TupleFormat indexKeyFormat,
                                         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.
Method Detail

extractIndexKey

public void extractIndexKey(TupleInput primaryKeyInput,
                            Object valueInput,
                            TupleOutput indexKeyOutput)
                     throws 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.
IOException

clearIndexKey

public void clearIndexKey(Object valueInput)
                   throws 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.
IOException

Berkeley DB
version 4.2.52

Copyright (c) 1996-2003 Sleepycat Software, Inc. - All rights reserved.