Class FSIntIteratorImplBase<T extends FeatureStructure>

  • All Implemented Interfaces:
    java.lang.Comparable<FSIntIteratorImplBase<T>>, LowLevelIterator, ComparableIntPointerIterator<T>, IntPointerIterator
    Direct Known Subclasses:
    IntIterator4set

    public abstract class FSIntIteratorImplBase<T extends FeatureStructure>
    extends java.lang.Object
    implements ComparableIntPointerIterator<T>, LowLevelIterator
    Base class for int Iterators over indexes. There are 3 styles of indexes, one for Sorted, one for Sets and one for Bag. There is a separate int iterator for each of these styles: IntIterator4bag IntIterator4sorted IntArrayRBTIterator There are also specialized int iterators: SnapshotPointerIterator - iterates over a one-time flat snapshot FlatIterator - iterates over a flattened array of Java Objects (not ints) - so this is excluded from this discussion because this class is only for int iterators. This class is the superclass of the 3 standard int iterators, and the SnapshotPointerIterator. It is an iterator for just one UIMA type (excludes subtypes). Other wrappers handle combining multiple of these kinds of iterators into one covering all the subtypes.
    • Field Detail

      • detectIllegalIndexUpdates

        protected final int[] detectIllegalIndexUpdates
        This is a ref to the shared value in the FSIndexRepositoryImpl OR it may be null which means skip the checking (done for some internal routines which know they are not updating the index, and assume no other thread is)
    • Constructor Detail

      • FSIntIteratorImplBase

        public FSIntIteratorImplBase​(FSLeafIndexImpl<T> fsLeafIndexImpl,
                                     int[] detectIllegalIndexUpdates)
        Parameters:
        fsLeafIndexImpl - the leaf index this iterator is over
        detectIllegalIndexUpdates - may be null
    • Method Detail

      • checkConcurrentModification

        public void checkConcurrentModification()
      • resetConcurrentModification

        public void resetConcurrentModification()
      • ll_get

        public int ll_get()
                   throws java.util.NoSuchElementException
        Description copied from interface: LowLevelIterator
        Return the current FS reference.
        Specified by:
        ll_get in interface LowLevelIterator
        Returns:
        The current FS reference.
        Throws:
        java.util.NoSuchElementException - Iff the iterator is not valid.