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 Details

    • 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:
    • NAMESPACE_SEPARATOR

      static final char NAMESPACE_SEPARATOR
      This is the character that separates name spaces. Ex.: uima.cas.Annotation
      See Also:
    • 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:
  • Method Details

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