org.apache.uima.cas

## Interface TypeSystem

- All Superinterfaces:
    Iterable<Type>
  All Known Subinterfaces:
    TypeSystemMgr
  All Known Implementing Classes:
    TypeSystemImpl

      public interface TypeSystem
      extends Iterable<Type>

  The interface to the type system. Used to access information about existing `types` and `features` using their String identifiers.

  This is almost a pure access interface. Exception: the call to getArrayType actually will create a new Array Type if it doesn't already exist.

  Types and features are defined using Component Descriptors, written in XML.

  Get the type system from a `CAS` object with `getTypeSystem()`.

  There are a few methods to list the existing types in a type system. Information about which feature is appropriate for which type is available through the `Type` and `Feature` classes. Implements Iterable to allow iterating over all types

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static char` | `FEATURE_SEPARATOR` This is the character that separates a type name from a feature name.
    `static char` | `NAMESPACE_SEPARATOR` This is the character that separates name spaces.
    `static String` | `PARAM_EXCLUDE_PREBUILT_TYPES` Add this to the additionalParameters map to skip adding the prebuilt types to the type system.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `Type` | `getArrayType(Type componentType)` Get or Create an array type with component type `componentType`.
    `Vector<Type>` | `getDirectlySubsumedTypes(Type type)` Deprecated. Use `getDirectSubtypes(Type)` instead.
    `List<Type>` | `getDirectSubtypes(Type type)` Get a List of the types directly subsumed by a given type.
    `Feature` | `getFeatureByFullName(String featureName)` Get a feature object for a given name.
    `Iterator<Feature>` | `getFeatures()` Get a list of features, in no particular order.
    `LowLevelTypeSystem` | `getLowLevelTypeSystem()` Return the low-level view of this type system.
    `Type` | `getParent(Type type)` Get the parent type for input type.
    `List<Type>` | `getProperlySubsumedTypes(Type type)` Return the list of all types subsumed by the input type.
    `Type` | `getTopType()` Get the top type, i.e., the root of the type system.
    `Type` | `getType(String typeName)` Get a type object for a given type name.
    `Iterator<Type>` | `getTypeIterator()` Get an iterator over all types, in no particular order.
    `TypeNameSpace` | `getTypeNameSpace(String name)` Create a type name space object for the name parameter.
    `boolean` | `subsumes(Type superType, Type subType)` Does one type inherit from the other?

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, iterator, spliterator`

- - ### Field Detail

    - #### FEATURE_SEPARATOR

          static final char FEATURE_SEPARATOR

      This is the character that separates a type name from a feature name. Ex.: `uima.cas.Annotation:begin`.
      See Also:
        Constant Field Values

    - #### NAMESPACE_SEPARATOR

          static final char NAMESPACE_SEPARATOR

      This is the character that separates name spaces. Ex.: `uima.cas.Annotation`
      See Also:
        Constant Field Values

    - #### PARAM_EXCLUDE_PREBUILT_TYPES

          static final String PARAM_EXCLUDE_PREBUILT_TYPES

      Add this to the additionalParameters map to skip adding the prebuilt types to the type system. Used by applicaitons only for backwards compatibility with binary serialization forms requiring exactly matching type systems
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getType

          Type getType(String typeName)

      Get a type object for a given type name. See documentation on type names.
      Parameters:
        `typeName` - The name of the type.
      Returns:
        A type object, or `null` if no such type exists.

    - #### getArrayType

          Type getArrayType(Type componentType)

      Get or Create an array type with component type `componentType`.
      Parameters:
        `componentType` - The type of the elements of the resulting array type. This can be any type, even another array type.
      Returns:
        The array type with the corresponding component type. If it doesn't exist, a new TypeImpl_array is created for it.

    - #### getFeatureByFullName

          Feature getFeatureByFullName(String featureName)

      Get a feature object for a given name. See documentation on feature names.
      Parameters:
        `featureName` - The fully qualified name of the feature.
      Returns:
        An feature object, or `null` if no such feature exists.

    - #### getTypeIterator

          Iterator<Type> getTypeIterator()

      Get an iterator over all types, in no particular order.
      Returns:
        The iterator.

    - #### getTopType

          Type getTopType()

      Get the top type, i.e., the root of the type system.
      Returns:
        The top type.

    - #### getDirectlySubsumedTypes

          @Deprecated
          Vector<Type> getDirectlySubsumedTypes(Type type)

      Deprecated. Use `getDirectSubtypes(Type)` instead.
      Get a vector of the types directly subsumed by a given type.
      Parameters:
        `type` - The input type.
      Returns:
        A vector of the directly subsumed types.

    - #### getDirectSubtypes

          List<Type> getDirectSubtypes(Type type)

      Get a List of the types directly subsumed by a given type.
      Parameters:
        `type` - The input type.
      Returns:
        A List of the directly subsumed types.

    - #### getProperlySubsumedTypes

          List<Type> getProperlySubsumedTypes(Type type)

      Return the list of all types subsumed by the input type. Note: the list does not include the type itself.
      Parameters:
        `type` - Input type.
      Returns:
        The list of types subsumed by `type`.

    - #### getParent

          Type getParent(Type type)

      Get the parent type for input type.
      Parameters:
        `type` - The type we want to know the parent of.
      Returns:
        The parent type, or `null` for the top type.

    - #### subsumes

          boolean subsumes(Type superType,
                           Type subType)

      Does one type inherit from the other?
      Parameters:
        `superType` - Supertype.
        `subType` - Subtype.
      Returns:
        `true` iff `sub` inherits from `super`.

    - #### getFeatures

          Iterator<Feature> getFeatures()

      Get a list of features, in no particular order.
      Returns:
        An iterator over the features.

    - #### getTypeNameSpace

          TypeNameSpace getTypeNameSpace(String name)

      Create a type name space object for the name parameter.
      Parameters:
        `name` - The name of the name space.
      Returns:
        A `TypeNameSpace` object corresponding to `name`, or `null`, if `name` is not a legal type name space identifier.

    - #### getLowLevelTypeSystem

          LowLevelTypeSystem getLowLevelTypeSystem()

      Return the low-level view of this type system.
      Returns:
        The `LowLevelTypeSystem` version of this type system.

Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.