com.sleepycat.persist
Interface ValueAdapter<V>

All Known Implementing Classes:
DataValueAdapter, EntityValueAdapter, KeyValueAdapter, PrimaryKeyValueAdapter

interface ValueAdapter<V>

An adapter that translates between database entries (key, primary key, data) and a "value", which may be either the key, primary key, or entity. This interface is used to implement a generic index and cursor (BasicIndex and BasicCursor). If we didn't use this approach, we would need separate index and cursor implementations for each type of value that can be returned. In other words, this interface is used to reduce class explosion.

Author:
Mark Hayes

Method Summary
 void clearEntries(DatabaseEntry key, DatabaseEntry pkey, DatabaseEntry data)
          Sets the data array of the given entries to null, based on knowledge of which entries are non-null and are not NO_RETURN_ENTRY.
 V entryToValue(DatabaseEntry key, DatabaseEntry pkey, DatabaseEntry data)
          Returns the appropriate "value" (key, primary key, or entity) using the appropriate bindings for that purpose.
 DatabaseEntry initData()
          Creates a DatabaseEntry for the data or returns null if the data is not needed.
 DatabaseEntry initKey()
          Creates a DatabaseEntry for the key or returns null if the key is not needed.
 DatabaseEntry initPKey()
          Creates a DatabaseEntry for the primary key or returns null if the primary key is not needed.
 void valueToData(V value, DatabaseEntry data)
          Converts an entity value to a data entry using an entity binding, or throws UnsupportedOperationException if this is not appropriate.
 

Method Detail

initKey

DatabaseEntry initKey()
Creates a DatabaseEntry for the key or returns null if the key is not needed.


initPKey

DatabaseEntry initPKey()
Creates a DatabaseEntry for the primary key or returns null if the primary key is not needed.


initData

DatabaseEntry initData()
Creates a DatabaseEntry for the data or returns null if the data is not needed. BasicIndex.NO_RETURN_ENTRY may be returned if the data argument is required but we don't need it.


clearEntries

void clearEntries(DatabaseEntry key,
                  DatabaseEntry pkey,
                  DatabaseEntry data)
Sets the data array of the given entries to null, based on knowledge of which entries are non-null and are not NO_RETURN_ENTRY.


entryToValue

V entryToValue(DatabaseEntry key,
               DatabaseEntry pkey,
               DatabaseEntry data)
Returns the appropriate "value" (key, primary key, or entity) using the appropriate bindings for that purpose.


valueToData

void valueToData(V value,
                 DatabaseEntry data)
Converts an entity value to a data entry using an entity binding, or throws UnsupportedOperationException if this is not appropriate. Called by BasicCursor.update.



Copyright 2004-2006 Sleepycat, Inc. All Rights Reserved.