messif.buckets.index
Interface Index<T>

Type Parameters:
T - the type of objects stored in this index
All Known Subinterfaces:
IntStorageIndexed<T>, LongStorageIndexed<T>, ModifiableIndex<T>, ModifiableOrderedIndex<C,T>, OrderedIndex<C,T>, StorageIndexed<T>
All Known Implementing Classes:
AbstractArrayIndex, AddressStorageIndex, AlgorithmStorageBucket, DatabaseStorage, DiskStorage, IntStorageIndex, LongStorageIndex, LongStorageMemoryIndex, MemoryStorage

public interface Index<T>

Defines an index interface on objects.


Method Summary
 Search<T> search()
          Returns a search for all objects in this index.
<C> Search<T>
search(IndexComparator<? super C,? super T> comparator, C key)
          Returns a search for objects in this index that have any of the specified keys.
<C> Search<T>
search(IndexComparator<? super C,? super T> comparator, C from, C to)
          Returns a search for objects in this index that are within the specified key-range.
<C> Search<T>
search(IndexComparator<? super C,? super T> comparator, java.util.Collection<? extends C> keys)
          Returns a search for objects in this index that have any of the specified keys.
 int size()
          Returns current number of objects in this index.
 

Method Detail

size

int size()
Returns current number of objects in this index.

Returns:
current number of objects in this index

search

Search<T> search()
                 throws java.lang.IllegalStateException
Returns a search for all objects in this index.

Returns:
a search for all objects in this index
Throws:
java.lang.IllegalStateException - if there was an error initializing the search on this index

search

<C> Search<T> search(IndexComparator<? super C,? super T> comparator,
                     C key)
                 throws java.lang.IllegalStateException
Returns a search for objects in this index that have any of the specified keys. The equality is checked exclusively by using the specified comparator, thus key need not necessarily be of the same class as the objects stored in this index and also consistency with equals is not required.

Note that objects are not necessarily returned in the order defined by the comparator

Type Parameters:
C - the type of the key used by the search
Parameters:
comparator - compares the key with the stored objects
key - the key to search for
Returns:
a search for objects in this index
Throws:
java.lang.IllegalStateException - if there was an error initializing the search on this index

search

<C> Search<T> search(IndexComparator<? super C,? super T> comparator,
                     java.util.Collection<? extends C> keys)
                 throws java.lang.IllegalStateException
Returns a search for objects in this index that have any of the specified keys. The equality is checked exclusively by using the specified comparator, thus key need not necessarily be of the same class as the objects stored in this index and also consistency with equals is not required.

Note that objects are not necessarily returned in the order defined by the comparator

Type Parameters:
C - the type of the keys used by the search
Parameters:
comparator - compares the keys with the stored objects
keys - the keys to search for (at least one key must be given)
Returns:
a search for objects in this index
Throws:
java.lang.IllegalStateException - if there was an error initializing the search on this index

search

<C> Search<T> search(IndexComparator<? super C,? super T> comparator,
                     C from,
                     C to)
                 throws java.lang.IllegalStateException
Returns a search for objects in this index that are within the specified key-range. The key boundaries [from, to] need not necessarily be of the same class as the objects stored in this index, however, the comparator must be able to compare the boundaries and the internal objects.

Note that objects are not returned in the order defined by the comparator

Type Parameters:
C - the type the boundaries used by the search
Parameters:
comparator - compares the boundaries [from, to] with the stored objects
from - the lower bound on the searched objects, i.e. objects greater or equal are returned
to - the upper bound on the searched objects, i.e. objects smaller or equal are returned
Returns:
a search for objects in this index
Throws:
java.lang.IllegalStateException - if there was an error initializing the search on this index