org.apache.uima.cas

## Interface TypeSystem

- All Known Subinterfaces:
    TypeSystemMgr
  All Known Implementing Classes:
    TypeSystemImpl

      public interface TypeSystem

  The interface to the type system. Used to access information about existing `types` and `features` using their String identifiers. This is a pure access interface. 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.

- - ### 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.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `Type` | `getArrayType(Type componentType)` Obtain 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?

- - ### 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

  - ### 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)

      Obtain 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.

    - #### 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–2021 The Apache Software Foundation. All rights reserved.