Package org.apache.uima.cas.impl

# Interface LowLevelIndexRepository

All Known Implementing Classes:
  `FSIndexRepositoryImpl`

public interface LowLevelIndexRepository
Low-level index repository access. Provides access to low-level indexes.

Use `LowLevelCAS.ll_getIndexRepository()` to gain access to an object of this type.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `ll_addFS(int fsRef)`
  Add a FS reference to all appropriate indexes in the repository.
  `void`
  `ll_addFS(int fsRef, boolean doChecks)`
  Add a FS reference to all appropriate indexes in the repository.
  `<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.
  `void`
  `ll_removeFS(int fsRef)`
  Remove a FS reference from all indexes in the repository.

- ## Method Details

  - ### ll_getIndex

    <T extends FeatureStructure> LowLevelIndex<T> ll_getIndex(String indexName)
    Get an index by its name.
    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

    <T extends FeatureStructure> LowLevelIndex<T> ll_getIndex(String indexName, int typeCode)
    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.
    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.
    Throws:
      `LowLevelException` - If the type code argument is not a valid type code.

  - ### ll_addFS

    void ll_addFS(int fsRef)
    Add a FS reference to all appropriate indexes in the repository.
    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_addFS

    void ll_addFS(int fsRef, boolean doChecks)
    Add a FS reference to all appropriate indexes in the repository.
    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.

  - ### ll_removeFS

    void ll_removeFS(int fsRef)
    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.
    Parameters:
      `fsRef` - The FS reference to be removed from the indexes.