Logo Search packages:      
Sourcecode: uimaj version File versions  Download package

Public Member Functions | Static Public Attributes

org::apache::uima::cas::FSIndex< T extends FeatureStructure > Interface Reference

List of all members.

Public Member Functions

int compare (FeatureStructure fs1, FeatureStructure fs2)
boolean contains (FeatureStructure fs)
FeatureStructure find (FeatureStructure fs)
int getIndexingStrategy ()
Type getType ()
FSIterator< T > iterator (FeatureStructure fs)
FSIterator< T > iterator ()
int size ()

Static Public Attributes

static final int BAG_INDEX = 2
static final int DEFAULT_BAG_INDEX = 3
static final int SET_INDEX = 1
static final int SORTED_INDEX = 0

Detailed Description

Feature structure index access interface.

Notice that each feature structure index uses its own ordering relation that will usually be different from index to index. In particular, equality with respect to the index ordering will in general not imply object identity for the feature structures.

We currently support three different kinds of indexes: sorted, set and bag indexes. The default index is a sorted index. In a sorted index, all FSs that are committed are entered, even if they are duplicates of already existing FSs. The index is sorted in the sense that iterators will output FSs in sorted order according to the comparator for that index. The order of FSs that are equal wrt the comparator is arbitrary but fixed. That is, if you iterate over the same index several times, you will see the same relative order of FSs every time. We also guarantee that reverse iterators will produce exactly the reverse sequence of forward iteration.

A set index will contain no duplicates of the same type, where a duplicate is defined by the indexing comparator. That is, if you commit two feature structures of the same type that are equal wrt the indexing comparator, only the first one will be entered into the index. Note that you can still have duplicates wrt the indexing order if they are of a different type. A set index is not guaranteed to be sorted.

A bag index finally simply stores everything, without any guaranteed order. Our current implementation works such that for any two FSs of the same type, they will be returned in the order in which they are committed (FIFO style). Note that any operation like find() or FSIterator.moveTo() will not produce useful results on bag indexes, since bag indexes do not honor comparators. Only use a bag index if you want very fast adding and will have to iterate over the whole index anyway.

Definition at line 56 of file FSIndex.java.

The documentation for this interface was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index