Class FsIndex_bag<T extends FeatureStructure>

  • Type Parameters:
    T - the Java cover class type for this index, passed along to (wrapped) iterators producing Java cover classes NOTE: V3 doesn't support ALLOW_DUP_ADD_TO_INDEXES
    All Implemented Interfaces:
    java.lang.Iterable<T>, java.util.Collection<T>, java.util.Comparator<FeatureStructure>, FSIndex<T>, LowLevelIndex<T>

    public class FsIndex_bag<T extends FeatureStructure>
    extends FsIndex_singletype<T>
    Used for UIMA FS Bag Indexes Uses ObjHashSet to hold instances of FeatureStructures
    • Constructor Detail

    • Method Detail

      • cleanUpComparator

        private static FSIndexComparator cleanUpComparator​(FSIndexComparator comp,
                                                           CASImpl casImpl)
        Substitutes an empty comparator if one is specified - may not be needed
        See Also:
        org.apache.uima.cas.impl.FSLeafIndexImpl#init(org.apache.uima.cas.admin.FSIndexComparator)
      • insert

        public final void insert​(T fs)
        Description copied from class: FsIndex_singletype
        Adding FS to an index. not in upper interfaces because it's internal use only - called via addToIndexes etc.
        Specified by:
        insert in class FsIndex_singletype<T extends FeatureStructure>
        Parameters:
        fs - the fs to be added
      • contains

        public boolean contains​(FeatureStructure fs)
        Description copied from interface: FSIndex

        Check if the index contains an element equal to the given feature structure according to the comparators defined for this index. For bag indexes (which have no comparators), the equality test means the identical feature structure. Note that this is in general not the same as feature structure identity.

        The element is used as a template, and may be a supertype of the type of the index, as long as the keys specified for this index can be accessed.

        Parameters:
        fs - A Feature Structure used a template to match for equality with the FSs in the index.
        Returns:
        true if the index contains such an element.
        See Also:
        FSIndex.contains(FeatureStructure)
      • ll_contains

        boolean ll_contains​(int fsAddr)
      • size

        public int size()
        Description copied from interface: FSIndex
        Return the number of feature structures in this index.
        Specified by:
        size in interface java.util.Collection<T extends FeatureStructure>
        Specified by:
        size in interface FSIndex<T extends FeatureStructure>
        Specified by:
        size in class java.util.AbstractCollection<T extends FeatureStructure>
        Returns:
        The number of FSs in this index.
        See Also:
        FSIndex.size()
      • deleteFS

        public boolean deleteFS​(T fs)
        only for backwards compatibility
        Specified by:
        deleteFS in class FsIndex_singletype<T extends FeatureStructure>
        Parameters:
        fs - - the Feature Structure to be removed. Only this exact Feature Structure is removed (this is a stronger test than, for example, what moveTo(fs) does, where the fs in that case is used as a template). It is not an error if this exact Feature Structure is not in an index.
        Returns:
        true if something was removed, false if not found
      • bulkAddTo

        protected void bulkAddTo​(java.util.List<T> fss)
        Description copied from class: FsIndex_singletype
        For serialization: get all the items in this index and bulk add to an List<T>
        Specified by:
        bulkAddTo in class FsIndex_singletype<T extends FeatureStructure>
        Parameters:
        fss - the set of items to add
      • iterator

        public LowLevelIterator<T> iterator​(boolean orderNotNeeded,
                                            boolean ignoreType)
        Description copied from interface: LowLevelIndex
        Internal use, used by select framework. Return an iterator over the index. The position of the iterator will be set to return the first item in the index. If the index is empty, the iterator position will be marked as invalid.
        Parameters:
        orderNotNeeded - if true, skips work while iterating to keep iterators over multiple types in sync.
        ignoreType - if true, the comparator used for moveTo leftmost operations will ignore typeOrder keys, if the index happens to define these
        Returns:
        An FSIterator positioned at the beginning, or an invalid iterator.
      • ll_maxAnnotSpan

        public int ll_maxAnnotSpan()
        Returns:
        for annotation indexes, an conservative estimate the maximum span between begin and end The value may be larger than actual.
      • iterator

        public LowLevelIterator<T> iterator()
        Description copied from interface: LowLevelIndex
        Return an iterator over the index. The position of the iterator will be set to return the first item in the index. If the index is empty, the iterator position will be marked as invalid.
        Specified by:
        iterator in interface java.util.Collection<T extends FeatureStructure>
        Specified by:
        iterator in interface FSIndex<T extends FeatureStructure>
        Specified by:
        iterator in interface java.lang.Iterable<T extends FeatureStructure>
        Specified by:
        iterator in interface LowLevelIndex<T extends FeatureStructure>
        Specified by:
        iterator in class java.util.AbstractCollection<T extends FeatureStructure>
        Returns:
        An FSIterator positioned at the beginning, or an invalid iterator.