Class FSIntIteratorImplBase<T extends FeatureStructure>

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

    public abstract class FSIntIteratorImplBase<T extends FeatureStructure>
    extends 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