Class FsIterator_set_sorted2<T extends FeatureStructure>

java.lang.Object
org.apache.uima.cas.impl.FsIterator_singletype<T>
org.apache.uima.cas.impl.FsIterator_set_sorted2<T>
Type Parameters:
T - the type of FSs being returned from the iterator, supplied by the calling context
All Implemented Interfaces:
Iterator<T>, ListIterator<T>, FSIterator<T>, LowLevelIterator<T>
Direct Known Subclasses:
FsIterator_set_sorted_pear

class FsIterator_set_sorted2<T extends FeatureStructure> extends FsIterator_singletype<T>
An iterator for a single type for a set or sorted index NOTE: This is the version used for set/sorted iterators It is built directly on top of a CopyOnWrite wrapper for OrderedFsSet_array It uses the version of OrdereFsSet_array that has no embedded nulls
  • Field Details

  • Constructor Details

  • Method Details

    • maybeReinitIterator

      public boolean maybeReinitIterator()
      Description copied from interface: LowLevelIterator
      Internal use
      Returns:
      true if the iterator was refreshed to match the current index
    • isValid

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

      public T getNvc()
      Description copied from interface: FSIterator
      Get the structure the iterator is pointing at. Throws various unchecked exceptions, if the iterator is not valid
      Returns:
      The structure the iterator is pointing at.
    • moveToNextNvc

      public void moveToNextNvc()
      Description copied from interface: FSIterator
      version of moveToNext which bypasses the isValid check - call only if you've just done this check yourself
    • moveToPreviousNvc

      public void moveToPreviousNvc()
      Description copied from interface: FSIterator
      version of moveToPrevious which bypasses the isValid check - call only if you've just done this check yourself
    • moveToFirstNoReinit

      public void moveToFirstNoReinit()
      Description copied from interface: LowLevelIterator
      Internal use same as moveToFirst, but won't reset to use current contents of index if index has changed
    • moveToLastNoReinit

      public void moveToLastNoReinit()
      Description copied from interface: LowLevelIterator
      Internal use same as moveToLast, but won't reset to use current contents of index if index has changed
    • moveToNoReinit

      public void moveToNoReinit(FeatureStructure fs)
      Description copied from interface: LowLevelIterator
      Internal use same as moveTo(fs), but won't reset to use current contents of index if index has changed
      Parameters:
      fs - the fs to use as the template identifying the place to move to
    • copy

      public FsIterator_singletype<T> copy()
      Description copied from interface: FSIterator
      Copy this iterator.
      Specified by:
      copy in interface FSIterator<T extends FeatureStructure>
      Specified by:
      copy in class FsIterator_singletype<T extends FeatureStructure>
      Returns:
      A copy of this iterator, pointing at the same element.
    • copyCommonSetup

      protected void copyCommonSetup(FsIterator_set_sorted2<T> copy)
    • ll_indexSizeMaybeNotCurrent

      public int ll_indexSizeMaybeNotCurrent()
      Returns:
      The size of the index. In case of copy-on-write, this returns the size of the index at the time the iterator was created, or at the last moveTo, moveToFirst, or moveToLast. To get the current index size, use ll_getIndex().getSize()
    • ll_getIndex

      public LowLevelIndex<T> ll_getIndex()
      Description copied from interface: LowLevelIterator
      Get the index for just the top most type of this iterator (excludes subtypes).
      Returns:
      The index.
    • ll_maxAnnotSpan

      public int ll_maxAnnotSpan()
      Returns:
      an estimate of the maximum span over all annotations (end - begin)
    • isIndexesHaveBeenUpdated

      public boolean isIndexesHaveBeenUpdated()
      Returns:
      true if one or more of the underlying indexes this iterator goes over, has been updated since initialization or resetting operation (moveToFirst/Last/feature_structure). This includes empty iterators becoming non-empty.
    • moveToLeftMost

      private void moveToLeftMost(FeatureStructure fs)
      Starting at a position where the item is equal to fs using the compare without id, move to the leftmost one search opportunistically, starting at 1 before, 2, 4, 8, 16, etc. then doing binary search in the opposite dir These methods are in this class because they manipulate "pos"
      Parameters:
      fs - -
    • moveToLeftMostUp

      private void moveToLeftMostUp(FeatureStructure fs, int upperValidPos)
      Must be possible to leave the pos == to upperValidPos. Starts searching from next above current pos
      Parameters:
      fs -
      upperValidPos -
    • getComparator

      public Comparator<TOP> getComparator()
      Returns:
      the comparator used by this iterator. It is always a withoutID style, and may be either a withType or NoType style.
    • isMoveToSupported

      public boolean isMoveToSupported()
      Returns:
      false if this iterator is over an unordered collection or set or bag
    • size

      public int size()
      Description copied from interface: FSIterator
      return the size of the collection being iterated over, if available. Because the iterator can move forwards and backwards, the size is the total size that the iterator would iterate over, starting at the first element thru the last element. This may be inefficient to compute.
      Returns:
      the size of the collection being iterated over.