Package org.apache.uima.cas.impl

# Class FSIndexRepositoryImpl

java.lang.Object
org.apache.uima.cas.impl.FSIndexRepositoryImpl

All Implemented Interfaces:
  `FSIndexRepositoryMgr`, `FSIndexRepository`, `LowLevelIndexRepository`

public class FSIndexRepositoryImpl extends Object implements FSIndexRepositoryMgr, LowLevelIndexRepository
There is one instance of this class per CAS View. Some parts of the data here are shared between all views of a CAS. Many things refer to specific types, and their associated Java Cover classes. Java impl classes are always used for each type; If there is no JCas cover class defined for a type, then the most specific superclass which has a JCas defined class is used; this is the class TOP or one of its subclasses. Generic typing: User facing APIs can make use of the (JCas) Java cover types, for indexes and iterators over them The general generic type used is typically written here as T extends FeatureStructure, where FeatureStructure is the super interface of all JCas types. APIs having no reference to Java cover types (i.e., low level iterators) are not generic, unless they are needed to be to pass along the associated type to other APIs.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `ALLOW_DUP_ADD_TO_INDEXES`
  Define this JVM property to allow adding the same identical FS to Set and Sorted indexes more than once.
  `static final int`
  `DEFAULT_INDEX_SIZE`
  The default size of an index.
  `static final String`
  `DISABLE_ENHANCED_WRONG_INDEX`
  `static final boolean`
  `INCLUDE_BAG_INDEXES`
  `static final boolean`
  `ITEM_ADDED_TO_INDEX`
  `static final boolean`
  `ITEM_REMOVED_FROM_INDEX`
  `static final boolean`
  `SKIP_BAG_INDEXES`
  flag used when removing FSs due to corruption avoidance
  `static final boolean`
  `V2_ANNOTATION_COMPARE_TYPE_ORDER`
  set next to true to debug issues with different treatment of no type priorities in v3

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<T extends TOP>
  void`
  `addback(T fs)`
  `void`
  `addFS(int fsRef)`
  `<T extends FeatureStructure>
  void`
  `addFS(T fs)`
  Add a feature structure to all appropriate indexes in the repository.
  `void`
  `commit()`
  Commit this repository instance.
  `FSIndexComparator`
  `createComparator()`
  Create a new comparator to define a new index.
  `boolean`
  `createIndex(FSIndexComparator comp, String label)`
  Create a new sorted index.
  `boolean`
  `createIndex(FSIndexComparator comp, String label, int indexType)`
  Create a new index.
  `<T extends FeatureStructure>
  boolean`
  `createIndexNoQuestionsAsked(FSIndexComparator comp, String label, int indexType)`
  This is public only until the xml specifier format supports specifying index kinds (set, bag etc.).
  `LinearTypeOrderBuilder`
  `createTypeSortOrder()`
  Currently not useful.
  `void`
  `flush()`
  Reset all indexes, in one view.
  `Set<TOP>`
  `getAddedFSs()`
  `<T extends FeatureStructure>
  LowLevelIterator<T>`
  `getAllIndexedFS(Type type)`
  Gets an iterator over all indexed (in this View) FeatureStructures of the specified Type (and any of its subtypes).
  `Comparator<TOP>`
  `getAnnotationFsComparator(FSComparators withId, FSComparators withTypeOrder)`
  `Comparator<TOP>`
  `getAnnotationFsComparatorWithoutId()`
  `CASImpl`
  `getCasImpl()`
  `LinearTypeOrderBuilder`
  `getDefaultOrderBuilder()`
  Get the default type order builder.
  `LinearTypeOrder`
  `getDefaultTypeOrder()`
  Get the default type order.
  `Set<TOP>`
  `getDeletedFSs()`
  `<T extends FeatureStructure>
  LowLevelIndex<T>`
  `getIndex(String label)`
  Retrieve an index according to a label.
  `<T extends FeatureStructure>
  FSIndex<T>`
  `getIndex(String label, Type type)`
  Retrieve an index according to a label and a type.
  `<T extends FeatureStructure>
  org.apache.uima.cas.impl.FsIndex_iicp<T>`
  `getIndexBySpec(int typeCode, int indexingStrategy, FSIndexComparatorImpl comp)`
  Get the FsIndex_iicp for a given typeCode, indexingStrategy, and comparator (type ignored)
  `Collection<TOP>`
  `getIndexedFSs()`
  Returns an unmodifiable collection of all of the FSs that are indexed in this view, in an arbitrary order.
  `<T extends TOP>
  Collection<T>`
  `getIndexedFSs(Class<T> clazz)`
  Returns an unmodifiable collection of all the FSs of this type and its subtypes, that are indexed in this view, in an arbitrary order.
  `<T extends TOP>
  Collection<T>`
  `getIndexedFSs(Type type)`
  Returns an unmodifiable collection of all the FSs of this type and its subtypes, that are indexed in this view, in an arbitrary order.
  `Iterator<FSIndex<TOP>>`
  `getIndexes()`
  Get all indexes in this repository.
  `Iterator<String>`
  `getLabels()`
  Get all labels for all indexes.
  `<T extends FeatureStructure>
  Iterator<String>`
  `getLabels(FSIndexComparator comp)`
  Get the labels for a specific comparator.
  `FsIndex_singletype<TOP>`
  `getNonSetSingleIndexForType(int typecode)`
  `FsIndex_singletype<TOP>`
  `getNonSetSingleIndexForUsedType(int i)`
  `Set<TOP>`
  `getReindexedFSs()`
  `TypeSystemImpl`
  `getTypeSystemImpl()`
  `Set<TOP>`
  `getUpdatedFSs(Set<TOP> items)`
  `boolean`
  `isCommitted()`
  Check if this instance has been committed.
  `boolean`
  `isModified()`
  `void`
  `ll_addFS(int fsRef)`
  Add a FS reference to all appropriate indexes in the repository.
  `final void`
  `ll_addFS(int fsRef, boolean doChecks)`
  Add a FS reference to all appropriate indexes in the repository.
  `<T extends FeatureStructure>
  LowLevelIterator<T>`
  `ll_getAllIndexedFS(Type type)`
  `<T extends FeatureStructure>
  LowLevelIndex<T>`
  `ll_getIndex(String indexName)`
  Get an index by its name.
  `<T extends FeatureStructure>
  LowLevelIndex<T>`
  `ll_getIndex(String indexName, int typeCode)`
  Get an index by a name and type.
  `Iterator<LowLevelIndex>`
  `ll_getIndexes()`
  Get all indexes in this repository as low level indexes
  `void`
  `ll_removeFS(int fsRef)`
  Remove a FS reference from all indexes in the repository.
  `void`
  `removeAllExcludingSubtypes(Type type)`
  Remove all instances of a particular type (but not its subtypes) from all indexes
  `void`
  `removeAllIncludingSubtypes(Type type)`
  Remove all instances of a particular type (including its subtypes) from all indexes
  `void`
  `removeFS(int fsRef)`
  `void`
  `removeFS(FeatureStructure fs)`
  Remove a feature structure from all indexes in the repository.
  `void`
  `removeIndex(String label)`
  just for testing purposes removes the named index Also removes indexes for all subtypes.
  `Stream<FsIndex_singletype<TOP>>`
  `streamNonEmptyIndexes(Class<? extends TOP> clazz)`
  `Stream<FsIndex_singletype<TOP>>`
  `streamNonEmptyIndexes(Type type)`
  Stream instances of all of the non-empty indexes themselves
  `String`
  `toString()`
  `void`
  `walkIndexedFSs(Consumer<TOP> action)`
  For this view, walk the indexed FSs in arbitrary order.
  `void`
  `walkSortedIndexedFSs(Consumer<TOP> action)`
  For this view, walk the indexed FSs, sorted by id (e.g.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.apache.uima.cas.FSIndexRepository

  `getAllIndexedFS, removeAllExcludingSubtypes, removeAllIncludingSubtypes`

- ## Field Details

  - ### ITEM_ADDED_TO_INDEX

    public static final boolean ITEM_ADDED_TO_INDEX
    See Also:
      - Constant Field Values

  - ### ITEM_REMOVED_FROM_INDEX

    public static final boolean ITEM_REMOVED_FROM_INDEX
    See Also:
      - Constant Field Values

  - ### V2_ANNOTATION_COMPARE_TYPE_ORDER

    public static final boolean V2_ANNOTATION_COMPARE_TYPE_ORDER
    set next to true to debug issues with different treatment of no type priorities in v3
    See Also:
      - Constant Field Values

  - ### DEFAULT_INDEX_SIZE

    public static final int DEFAULT_INDEX_SIZE
    The default size of an index.
    See Also:
      - Constant Field Values

  - ### SKIP_BAG_INDEXES

    public static final boolean SKIP_BAG_INDEXES
    flag used when removing FSs due to corruption avoidance
    See Also:
      - Constant Field Values

  - ### INCLUDE_BAG_INDEXES

    public static final boolean INCLUDE_BAG_INDEXES
    See Also:
      - Constant Field Values

  - ### ALLOW_DUP_ADD_TO_INDEXES

    public static final String ALLOW_DUP_ADD_TO_INDEXES
    Define this JVM property to allow adding the same identical FS to Set and Sorted indexes more than once.
    See Also:
      - Constant Field Values

  - ### DISABLE_ENHANCED_WRONG_INDEX

    public static final String DISABLE_ENHANCED_WRONG_INDEX
    See Also:
      - Constant Field Values

- ## Method Details

  - ### createIndex

    public boolean createIndex(FSIndexComparator comp, String label, int indexType) throws CASAdminException
    Description copied from interface: `FSIndexRepositoryMgr`
    Create a new index. Note: if you creata a BAG_INDEX, the comparator will be ignored.
    Specified by:
      `createIndex` in interface `FSIndexRepositoryMgr`
    Parameters:
      `comp` - The comparator for the new index.
      `label` - The name of the new index.
      `indexType` - The kind of index (sorted, set, bag).
    Returns:
      `false` iff an index with the same`label` already exists.
    Throws:
      `CASAdminException` - If the repository is locked (after calling `commit()`).
    See Also:
      - `FSIndexRepositoryMgr.createIndex(FSIndexComparator, String)`

  - ### createIndexNoQuestionsAsked

    public <T extends FeatureStructure> boolean createIndexNoQuestionsAsked(FSIndexComparator comp, String label, int indexType)
    This is public only until the xml specifier format supports specifying index kinds (set, bag etc.).
    Type Parameters:
      `T` - -
    Parameters:
      `comp` - -
      `label` - -
      `indexType` - -
    Returns:
      -

  - ### removeIndex

    public void removeIndex(String label)
    just for testing purposes removes the named index Also removes indexes for all subtypes. - NOTE this might remove another index definition's index, if it matches Only valid if no add-to-index operations have happened.
    Parameters:
      `label` - the name of the index to remove

  - ### flush

    public void flush()
    Reset all indexes, in one view.

  - ### commit

    public void commit()
    Description copied from interface: `FSIndexRepositoryMgr`
    Commit this repository instance. No more additions will be allowed.
    Specified by:
      `commit` in interface `FSIndexRepositoryMgr`
    See Also:
      - `FSIndexRepositoryMgr.commit()`

  - ### getDefaultTypeOrder

    public LinearTypeOrder getDefaultTypeOrder()
    Description copied from interface: `FSIndexRepositoryMgr`
    Get the default type order.
    Specified by:
      `getDefaultTypeOrder` in interface `FSIndexRepositoryMgr`
    Returns:
      The default type order.

  - ### getDefaultOrderBuilder

    public LinearTypeOrderBuilder getDefaultOrderBuilder()
    Description copied from interface: `FSIndexRepositoryMgr`
    Get the default type order builder.
    Specified by:
      `getDefaultOrderBuilder` in interface `FSIndexRepositoryMgr`
    Returns:
      The default type order builder.

  - ### getIndexes

    public Iterator<FSIndex<TOP>> getIndexes()
    Description copied from interface: `FSIndexRepository`
    Get all indexes in this repository.
    Specified by:
      `getIndexes` in interface `FSIndexRepository`
    Returns:
      All indexes.
    See Also:
      - `FSIndexRepository.getIndexes()`

  - ### ll_getIndexes

    public Iterator<LowLevelIndex> ll_getIndexes()
    Description copied from interface: `FSIndexRepository`
    Get all indexes in this repository as low level indexes
    Specified by:
      `ll_getIndexes` in interface `FSIndexRepository`
    Returns:
      All indexes.

  - ### getLabels

    public Iterator<String> getLabels()
    Description copied from interface: `FSIndexRepository`
    Get all labels for all indexes.
    Specified by:
      `getLabels` in interface `FSIndexRepository`
    Returns:
      All labels.
    See Also:
      - `FSIndexRepository.getLabels()`

  - ### getLabels

    public <T extends FeatureStructure> Iterator<String> getLabels(FSIndexComparator comp)
    Get the labels for a specific comparator.
    Type Parameters:
      `T` - type of Feature Structure
    Parameters:
      `comp` - The comparator.
    Returns:
      An iterator over the labels.

  - ### getIndex

    public <T extends FeatureStructure> FSIndex<T> getIndex(String label, Type type)
    Description copied from interface: `FSIndexRepository`
    Retrieve an index according to a label and a type. The type is used to narrow down the index of a more general type to a more specific one. Generics: T is the associated Java cover class for the type.
    Specified by:
      `getIndex` in interface `FSIndexRepository`
    Type Parameters:
      `T` - The Java class associated with the type
    Parameters:
      `label` - The name of the index.
      `type` - A subtype of the type of the index.
    Returns:
      The specified, or `null` if an index with that name doesn't exist.
    See Also:
      - `Find iicp by label (for type it was defined for) - if not found, return null Also return null if is an array type of some non-primitive, not TOP (???) Throw exception if type not subsumed by the top level type Search all iicps for the type to find the one with same indexing strategy and keys as the iicp for the label`

  - ### getIndex

    public <T extends FeatureStructure> LowLevelIndex<T> getIndex(String label)
    Description copied from interface: `FSIndexRepository`
    Retrieve an index according to a label. Generics: T is the associated Java cover class for the top type defined for this index name.
    Specified by:
      `getIndex` in interface `FSIndexRepository`
    Type Parameters:
      `T` - the Java class associated with the top-most type of the index
    Parameters:
      `label` - The name of the index.
    Returns:
      The index with the name `label`, or `null` if no such index is defined.
    See Also:
      - `FSIndexRepository.getIndex(String)`

  - ### removeAllExcludingSubtypes

    public void removeAllExcludingSubtypes(Type type)
    Remove all instances of a particular type (but not its subtypes) from all indexes
    Specified by:
      `removeAllExcludingSubtypes` in interface `FSIndexRepository`
    Parameters:
      `type` - -

  - ### removeAllIncludingSubtypes

    public void removeAllIncludingSubtypes(Type type)
    Remove all instances of a particular type (including its subtypes) from all indexes
    Specified by:
      `removeAllIncludingSubtypes` in interface `FSIndexRepository`
    Parameters:
      `type` - Type to remove (including all its subtypes) from this particular view.

  - ### createComparator

    public FSIndexComparator createComparator()
    Description copied from interface: `FSIndexRepositoryMgr`
    Create a new comparator to define a new index.
    Specified by:
      `createComparator` in interface `FSIndexRepositoryMgr`
    Returns:
      A new comparator instance.
    See Also:
      - `FSIndexRepositoryMgr.createComparator()`

  - ### isCommitted

    public boolean isCommitted()
    Description copied from interface: `FSIndexRepositoryMgr`
    Check if this instance has been committed.
    Specified by:
      `isCommitted` in interface `FSIndexRepositoryMgr`
    Returns:
      `true` iff this instance has been committed.
    See Also:
      - `FSIndexRepositoryMgr.isCommitted()`

  - ### createIndex

    public boolean createIndex(FSIndexComparator comp, String label) throws CASAdminException
    Description copied from interface: `FSIndexRepositoryMgr`
    Create a new sorted index.
    Specified by:
      `createIndex` in interface `FSIndexRepositoryMgr`
    Parameters:
      `comp` - The comparator for the new index.
      `label` - The name of the new index.
    Returns:
      `false` iff an index with the same`label` already exists.
    Throws:
      `CASAdminException` - If the repository is locked (after calling `commit()`).
    See Also:
      - `FSIndexRepositoryMgr.createIndex(org.apache.uima.cas.admin.FSIndexComparator, java.lang.String)`

  - ### walkIndexedFSs

    public void walkIndexedFSs(Consumer<TOP> action)
    For this view, walk the indexed FSs in arbitrary order.
    Parameters:
      `action` - the action to do on each FS

  - ### walkSortedIndexedFSs

    public void walkSortedIndexedFSs(Consumer<TOP> action)
    For this view, walk the indexed FSs, sorted by id (e.g. creation time)
    Parameters:
      `action` - -

  - ### getNonSetSingleIndexForType

    public FsIndex_singletype<TOP> getNonSetSingleIndexForType(int typecode)

  - ### getNonSetSingleIndexForUsedType

    public FsIndex_singletype<TOP> getNonSetSingleIndexForUsedType(int i)

  - ### addFS

    public void addFS(int fsRef)

  - ### ll_addFS

    public void ll_addFS(int fsRef)
    Description copied from interface: `LowLevelIndexRepository`
    Add a FS reference to all appropriate indexes in the repository.
    Specified by:
      `ll_addFS` in interface `LowLevelIndexRepository`
    Parameters:
      `fsRef` - The FS reference to be added to the repository. If `fsRef` is not a valid FS reference, the subsequent behavior of the system is undefined.

  - ### ll_removeFS

    public void ll_removeFS(int fsRef)
    Description copied from interface: `LowLevelIndexRepository`
    Remove a FS reference from all indexes in the repository. Note that this only removes the reference from the index repository, it does not free memory on the heap.
    Specified by:
      `ll_removeFS` in interface `LowLevelIndexRepository`
    Parameters:
      `fsRef` - The FS reference to be removed from the indexes.

  - ### addFS

    public <T extends FeatureStructure> void addFS(T fs)
    Description copied from interface: `FSIndexRepository`
    Add a feature structure to all appropriate indexes in the repository. If no indexes exist for the type of FS that you are adding, then a bag (unsorted) index will be automatically created.

    Important: after you have called `addFS()` on a FS, do not change the values of any features used for indexing. If you do, the index will become corrupted and may be unusable. If you need to change an index feature value, first call `removeFS()` on the FS, change the feature values, then call `addFS()` again.

    Specified by:
      `addFS` in interface `FSIndexRepository`
    Type Parameters:
      `T` - the generic type of the FeatureStructure
    Parameters:
      `fs` - The FS to be added.
    See Also:
      - `FSIndexRepository.addFS(org.apache.uima.cas.FeatureStructure)`

  - ### removeFS

    public void removeFS(FeatureStructure fs)
    Description copied from interface: `FSIndexRepository`
    Remove a feature structure from all indexes in the repository.
    Specified by:
      `removeFS` in interface `FSIndexRepository`
    Parameters:
      `fs` - The FS to be removed. The fs must be the exact FS to remove, not just one which compares "equal" using the index's comparator.
    See Also:
      - `FSIndexRepository.removeFS(org.apache.uima.cas.FeatureStructure)`

  - ### removeFS

    public void removeFS(int fsRef)

  - ### createTypeSortOrder

    public LinearTypeOrderBuilder createTypeSortOrder()
    Description copied from interface: `FSIndexRepositoryMgr`
    Currently not useful.
    Specified by:
      `createTypeSortOrder` in interface `FSIndexRepositoryMgr`
    Returns:
      A new type order builder.

  - ### ll_getIndex

    public <T extends FeatureStructure> LowLevelIndex<T> ll_getIndex(String indexName)
    Description copied from interface: `LowLevelIndexRepository`
    Get an index by its name.
    Specified by:
      `ll_getIndex` in interface `LowLevelIndexRepository`
    Type Parameters:
      `T` - type of Feature Structure
    Parameters:
      `indexName` - The name of the index.
    Returns:
      The corresponding index, or `null` if no such index exists.

  - ### ll_getIndex

    public <T extends FeatureStructure> LowLevelIndex<T> ll_getIndex(String indexName, int typeCode)
    Description copied from interface: `LowLevelIndexRepository`
    Get an index by a name and type. The type must be a subtype of the index's type. Note that there is no special checked version of this method, the type parameters are always checked.
    Specified by:
      `ll_getIndex` in interface `LowLevelIndexRepository`
    Type Parameters:
      `T` - type of Feature Structure
    Parameters:
      `indexName` - The name of the index.
      `typeCode` - The code of the desired subtype.
    Returns:
      The corresponding index, or `null` if no such index exists.

  - ### ll_addFS

    public final void ll_addFS(int fsRef, boolean doChecks)
    Description copied from interface: `LowLevelIndexRepository`
    Add a FS reference to all appropriate indexes in the repository.
    Specified by:
      `ll_addFS` in interface `LowLevelIndexRepository`
    Parameters:
      `fsRef` - The FS reference to be added to the repository. If `fsRef` is not a valid FS reference, the subsequent behavior of the system is undefined.
      `doChecks` - Check if the FS reference argument is a valid reference.

  - ### addback

    public <T extends TOP> void addback(T fs)

  - ### ll_getAllIndexedFS

    public <T extends FeatureStructure> LowLevelIterator<T> ll_getAllIndexedFS(Type type)

  - ### getAllIndexedFS

    public <T extends FeatureStructure> LowLevelIterator<T> getAllIndexedFS(Type type)
    Description copied from interface: `FSIndexRepository`
    Gets an iterator over all indexed (in this View) FeatureStructures of the specified Type (and any of its subtypes). The elements are returned in arbitrary order. Generics: T is the Java class for aType.
    Specified by:
      `getAllIndexedFS` in interface `FSIndexRepository`
    Type Parameters:
      `T` - The Java class associated with aType
    Parameters:
      `type` - The type
    Returns:
      An iterator that returns all indexed FeatureStructures of type `aType` and its subtypes, in no particular order.

  - ### getIndexedFSs

    public Collection<TOP> getIndexedFSs()
    Description copied from interface: `FSIndexRepository`
    Returns an unmodifiable collection of all of the FSs that are indexed in this view, in an arbitrary order. Subsequent modifications to the indexes do not affect this collection.
    Specified by:
      `getIndexedFSs` in interface `FSIndexRepository`
    Returns:
      an unmodifiable, unordered collection of all indexed (in this view) Feature Structures of the specified type (including subtypes)

  - ### getIndexedFSs

    public <T extends TOP> Collection<T> getIndexedFSs(Class<T> clazz)
    Description copied from interface: `FSIndexRepository`
    Returns an unmodifiable collection of all the FSs of this type and its subtypes, that are indexed in this view, in an arbitrary order. Subsequent modifications to the indexes do not affect this collection.
    Specified by:
      `getIndexedFSs` in interface `FSIndexRepository`
    Type Parameters:
      `T` - The Java class associated with type
    Parameters:
      `clazz` - The JCas class corresponding to the type
    Returns:
      an unmodifiable, unordered collection of all indexed (in this view) Feature Structures of the specified type (including subtypes)

  - ### getIndexedFSs

    public <T extends TOP> Collection<T> getIndexedFSs(Type type)
    Description copied from interface: `FSIndexRepository`
    Returns an unmodifiable collection of all the FSs of this type and its subtypes, that are indexed in this view, in an arbitrary order. Subsequent modifications to the indexes do not affect this collection.
    Specified by:
      `getIndexedFSs` in interface `FSIndexRepository`
    Type Parameters:
      `T` - The Java class associated with type
    Parameters:
      `type` - the type of Feature Structures to include (including subtypes)
    Returns:
      an unmodifiable, unordered set of all indexed (in this view) Feature Structures of the specified type (including subtypes)

  - ### streamNonEmptyIndexes

    public Stream<FsIndex_singletype<TOP>> streamNonEmptyIndexes(Type type)
    Stream instances of all of the non-empty indexes themselves
    Parameters:
      `type` - - the type to filter the indexes with
    Returns:
      all of the non-empty indexes, one for each sorted or default bag per type

  - ### streamNonEmptyIndexes

    public Stream<FsIndex_singletype<TOP>> streamNonEmptyIndexes(Class<? extends TOP> clazz)

  - ### getUpdatedFSs

    public Set<TOP> getUpdatedFSs(Set<TOP> items)

  - ### getAddedFSs

    public Set<TOP> getAddedFSs()

  - ### getDeletedFSs

    public Set<TOP> getDeletedFSs()

  - ### getReindexedFSs

    public Set<TOP> getReindexedFSs()

  - ### isModified

    public boolean isModified()

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### getAnnotationFsComparator

    public Comparator<TOP> getAnnotationFsComparator(FSComparators withId, FSComparators withTypeOrder)

  - ### getAnnotationFsComparatorWithoutId

    public Comparator<TOP> getAnnotationFsComparatorWithoutId()

  - ### getIndexBySpec

    public <T extends FeatureStructure> org.apache.uima.cas.impl.FsIndex_iicp<T> getIndexBySpec(int typeCode, int indexingStrategy, FSIndexComparatorImpl comp)
    Get the FsIndex_iicp for a given typeCode, indexingStrategy, and comparator (type ignored)
    Type Parameters:
      `T` - type of Feature Structure
    Parameters:
      `typeCode` - -
      `indexingStrategy` - -
      `comp` - -
    Returns:
      -

  - ### getTypeSystemImpl

    public TypeSystemImpl getTypeSystemImpl()

  - ### getCasImpl

    public CASImpl getCasImpl()