Class FSIteratorAggregate<T extends FeatureStructure>

java.lang.Object
org.apache.uima.cas.impl.FSIteratorImplBase<T>
org.apache.uima.cas.impl.FSIteratorAggregate<T>
All Implemented Interfaces:
Iterator<T>, FSIterator<T>

class FSIteratorAggregate<T extends FeatureStructure> extends FSIteratorImplBase<T>
Aggregate several FS iterators. Simply iterates over one after the other, no sorting or merging of any kind occurs. Intended for use in FSIndexRepositoryImpl.getAllIndexedFS(org.apache.uima.cas.Type).

Note: this class does not support moveTo(FS), as it is not sorted.

  • Field Details

  • Constructor Details

    • FSIteratorAggregate

      public FSIteratorAggregate(Collection<FSIteratorImplBase<T>> c)
      The one and only constructor.
      Parameters:
      c - Collection of input iterators.
  • Method Details

    • copy

      public FSIterator<T> copy()
      Description copied from interface: FSIterator
      Copy this iterator.
      Returns:
      A copy of this iterator, pointing at the same element.
    • get

      public T get() throws NoSuchElementException
      Description copied from interface: FSIterator
      Get the structure the iterator is pointing at.
      Returns:
      The structure the iterator is pointing at.
      Throws:
      NoSuchElementException - If the iterator is not valid.
    • isValid

      public boolean isValid()
      Description copied from interface: FSIterator
      Check if this iterator is valid.
      Returns:
      true if the iterator is valid.
    • moveTo

      public void moveTo(FeatureStructure fs)
      Description copied from interface: FSIterator
      Move the iterator to the first Feature Structure that is equal to fs. First means the earliest one occurring in the index, in case multiple FSs that are "equal" to fs are in the index. If no such feature structure exists in the underlying collection, set the iterator to the "insertion point" for fs, i.e., to a point where the current feature structure is greater than fs, and the previous one is less than fs.

      If the fs is greater than all of the entries in the index, the moveTo cannot set the iterator to an insertion point where the current feature structure is greater than fs, so it marks the iterator "invalid".

      If the underlying index is a bag index, no ordering is present, and the moveTo operation moves to the fs which is the same identical fs as the key. If no such fs is in the index, the iterator is marked invalid.

      Parameters:
      fs - The feature structure the iterator that supplies the comparison information. It must be of type T or a subtype of T.
    • moveToFirst

      public void moveToFirst()
      Description copied from interface: FSIterator
      Move the iterator to the first element. The iterator will be valid iff the underlying collection is non-empty. Allowed even if the underlying indexes being iterated over were modified.
    • moveToLast

      public void moveToLast()
      Description copied from interface: FSIterator
      Move the iterator to the last element. The iterator will be valid iff the underlying collection is non-empty. Allowed even if the underlying indexes being iterated over were modified.
    • moveToNext

      public void moveToNext()
      Description copied from interface: FSIterator
      Advance the iterator. This may invalidate the iterator.
    • moveToPrevious

      public void moveToPrevious()
      Description copied from interface: FSIterator
      Move the iterator one element back. This may invalidate the iterator.
    • getBegin

      int getBegin()
      Overrides:
      getBegin in class FSIteratorImplBase<T extends FeatureStructure>
    • getEnd

      int getEnd()
      Overrides:
      getEnd in class FSIteratorImplBase<T extends FeatureStructure>
    • moveTo

      <TT extends AnnotationFS> void moveTo(int begin, int end)
      Description copied from class: FSIteratorImplBase
      A special version of moveTo for subtypes of AnnotationFS, which moves to a particular begin/end (no type priority).
      Overrides:
      moveTo in class FSIteratorImplBase<T extends FeatureStructure>
      Parameters:
      begin - the starting point (inclusive)
      end - the ending point (inclusive)