messif.buckets.storage
Interface StorageSearch<T>

Type Parameters:
T - the type of objects that are looked up
All Superinterfaces:
java.lang.Cloneable, ModifiableSearch<T>, Removable<T>, Search<T>
All Known Subinterfaces:
IntStorageSearch<T>, LongStorageSearch<T>

public interface StorageSearch<T>
extends ModifiableSearch<T>

This interface represents a ModifiableSearch that supports getting Storage's address of the found object.


Method Summary
 Address<T> getCurrentObjectAddress()
          Returns the address of the object found by the last search.
 
Methods inherited from interface messif.buckets.index.Search
clone, close, getCurrentObject, next, previous, skip
 
Methods inherited from interface messif.buckets.Removable
getCurrentObject, remove
 

Method Detail

getCurrentObjectAddress

Address<T> getCurrentObjectAddress()
                                   throws java.lang.IllegalStateException
Returns the address of the object found by the last search. That is, if method Search.next() or Search.previous() has returned true, this method returns the address of the matching object. If false has been returned, this method throws an IllegalStateException.

Note that even though the address can be used to retrieve the actual object, the Search.getCurrentObject() should be used instead, since it is usually faster.

Returns:
the address of the object found by the last search
Throws:
java.lang.IllegalStateException - if there is no current object (next/previous method was not called or returned false)