Package org.apache.uima.cas.impl

# Class CASMgrSerializer

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

All Implemented Interfaces:
  `Serializable`

public class CASMgrSerializer extends Object implements Serializable
Container for serialized CAS typing information. Contains information about the type system, as well as the index repository. If more than one CAS that use the same type system and index repository need to be serialized, this information needs to be serialized only once.

See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `int[]`
  `comparatorIndex`
  For each index, where the corresponding comparator starts in the `comparators` field.
  `int[]`
  `comparators`
  Encodings of the actual comparators.
  `int[]`
  `featDecls`
  Feature declarations.
  `String[]`
  `featureNames`
  A list of feature names (symbol table).
  `int[]`
  `featureOffsets`
  The offsets for features.
  `int[]`
  `indexingStrategy`
  For each index, the indexing strategy of that index.
  `String[]`
  `indexNames`
  The index identifiers.
  `int[]`
  `nameToIndexMap`
  A mapping from index names to index IDs.
  `int`
  `source`
  Set this appropriately.
  `static final int`
  `SOURCE_JEDI`
  `static final int`
  `SOURCE_TAF`
  `int[]`
  `stringSubtypes`
  A list of type codes for the string subtypes.
  `int[]`
  `stringSubtypeValuePos`
  The start positions of the string value subarrays of `stringSubtypeValues`.
  `String[]`
  `stringSubtypeValues`
  The string values for the string subtypes.
  `int`
  `topTypeCode`
  The internal code of the top type.
  `int[]`
  `typeInheritance`
  Type inheritance information: for each type other than the top type, we provide the parent in the inheritance scheme.
  `String[]`
  `typeNames`
  A list of type names (symbol table).
  `int[]`
  `typeOrder`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CASMgrSerializer()`
  Constructor for CASMgrSerializer.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addIndexRepository(FSIndexRepositoryImpl ir)`
  Serialize index repository.
  `void`
  `addTypeSystem(TypeSystemImpl ts)`
  `FSIndexRepositoryImpl`
  `getIndexRepository(CASImpl cas)`
  Deserialize the index specification and type ordering information in this class instance into the index repository and cas and type system.
  `TypeSystemImpl`
  `getTypeSystem()`
  `boolean`
  `hasIndexRepository()`

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

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

- ## Field Details

  - ### SOURCE_JEDI

    public static final int SOURCE_JEDI
    See Also:
      - Constant Field Values

  - ### SOURCE_TAF

    public static final int SOURCE_TAF
    See Also:
      - Constant Field Values

  - ### typeOrder

    public int[] typeOrder

  - ### indexNames

    public String[] indexNames
    The index identifiers. Note that more than one identifier can refer to the same index.

  - ### nameToIndexMap

    public int[] nameToIndexMap
    A mapping from index names to index IDs. We have that `indexNames.length == nameToIndexMap.length` and for each `i` in `nameToIndexMap`, `0 <= i < indexTypes.length`.

  - ### indexingStrategy

    public int[] indexingStrategy
    For each index, the indexing strategy of that index. Current options are `SORTED_INDEX`, `SET_INDEX` and `BAG_INDEX`. `indexingStrategy.length == indexTypes.length`.

  - ### comparatorIndex

    public int[] comparatorIndex
    For each index, where the corresponding comparator starts in the `comparators` field. `comparatorIndex.length == indexTypes.length`.

  - ### comparators

    public int[] comparators
    Encodings of the actual comparators. Each comparator occupies an odd number of cells: one for the type, then feature/comparison pairs. The feature is encoded with its type system code, and comparison operations are encoded with `STANDARD_COMPARE` and `REVERSE_STANDARD_COMPARE`.

  - ### typeNames

    public String[] typeNames
    A list of type names (symbol table). fs-typed arrays have names XXXX[]. Note: numbering of types starts at `1`, and we index the names according to their internal code. That means that `typeNames[0] == null`.

  - ### featureNames

    public String[] featureNames
    A list of feature names (symbol table). Note: numbering of features starts at `1`, , and we index the names according to their internal code. That means that `featureNames[0] == null`.

  - ### typeInheritance

    public int[] typeInheritance
    Type inheritance information: for each type other than the top type, we provide the parent in the inheritance scheme. We use the internal type codes for indexing, which means that cells 0 (no type) and 1 (top type doesn't inherit from anything) are not used.

  - ### featDecls

    public int[] featDecls
    Feature declarations. For each feature code `i` (which is an integer ≥ 1), `featDecls[(i-1)*3]` is the domain type code, `featDecls[(i-1)*3+1]` is the range type code, and `featDecls[(i-1)*3+2]` is the multipleReferencesAllowed flag (0 or 1).

  - ### topTypeCode

    public int topTypeCode
    The internal code of the top type. Optional, used for sanity checks.

  - ### featureOffsets

    public int[] featureOffsets
    The offsets for features. Optional, used for sanity checks. Since feature numbering starts at 1, the length of the array is 1 + number of features.

  - ### stringSubtypes

    public int[] stringSubtypes
    A list of type codes for the string subtypes.

  - ### stringSubtypeValues

    public String[] stringSubtypeValues
    The string values for the string subtypes. Start and end postions for the values for the individual types are in `stringSubtypeValuePos`.

  - ### stringSubtypeValuePos

    public int[] stringSubtypeValuePos
    The start positions of the string value subarrays of `stringSubtypeValues`. `stringSubtypeValuePos.length == stringSubtypes.length`. For each `i < stringSubtypes.length`, `stringSubtypeValuePos[i]` is the start of the string values for `stringSubtypes[i]`.

  - ### source

    public int source
    Set this appropriately.

- ## Constructor Details

  - ### CASMgrSerializer

    public CASMgrSerializer()
    Constructor for CASMgrSerializer.

- ## Method Details

  - ### addIndexRepository

    public void addIndexRepository(FSIndexRepositoryImpl ir)
    Serialize index repository.
    Parameters:
      `ir` - The index repository to be serialized.

  - ### addTypeSystem

    public void addTypeSystem(TypeSystemImpl ts)

  - ### getTypeSystem

    public TypeSystemImpl getTypeSystem()

  - ### getIndexRepository

    public FSIndexRepositoryImpl getIndexRepository(CASImpl cas)
    Deserialize the index specification and type ordering information in this class instance into the index repository and cas and type system.
    Parameters:
      `cas` - -
    Returns:
      -

  - ### hasIndexRepository

    public boolean hasIndexRepository()