org.apache.uima.resource.metadata

## Interface TypeSystemDescription

- All Superinterfaces:
    Cloneable, MetaDataObject, Serializable, XMLizable
  All Known Implementing Classes:
    TypeSystemDescription_impl

      public interface TypeSystemDescription
      extends MetaDataObject

  Description of a CAS TypeSystem. This implements `MetaDataObject`, which implements `XMLizable`, so it can be serialized to and deserialized from an XML element.

  Type systems can declare that they `import` other type systems. At runtime, these imports will be resolved to create a single logical type system.

  Note that type system imports are not automatically resolved when a TypeSytemDescription is deserialized from XML. To resolve the imports, call the `resolveImports()` method. Import resolution is done automatically when a CAS is created using a TypeSystemDescription.

  Type systems can optionally be assigned a `name`, `description`, `vendor`, and `version`. It is recommended that these properties be set on any type system that is meant to be shared by (imported by) multiple components.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static TypeSystemDescription[]` | `EMPTY_TYPE_SYSTEM_DESCRIPTIONS`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `TypeDescription` | `addType(String aTypeName, String aDescription, String aSupertypeName)` Adds a Type to this TypeSystem fragment.
    `String` | `getDescription()` Gets the description of this Type System.
    `Import[]` | `getImports()` Gets the imports declared by this Type System.
    `String` | `getName()` Gets the name of this Type System.
    `TypeDescription` | `getType(String aTypeName)` Retrieves a Type from this TypeSystem fragment.
    `TypeDescription[]` | `getTypes()` Gets descriptions of all Types in this TypeSystem fragment.
    `String` | `getVendor()` Gets the vendor of this Type System.
    `String` | `getVersion()` Gets the version number of this Type System.
    `void` | `resolveImports()` Resolves any import declarations in this type system, adding the imported types directly onto this TypeSystemDescription's `types` list.
    `void` | `resolveImports(Collection<String> aAlreadyImportedTypeSystemURLs, ResourceManager aResourceManager)` Deprecated. Method is deprecated because it should only be used internally. Scheduled for removal in UIMA 4.0.
    `void` | `resolveImports(ResourceManager aResourceManager)` Resolves any import declarations in this type system, adding the imported types directly onto this TypeSystemDescription's `types` list.
    `void` | `setDescription(String aDescription)` Sets the description of this Type System.
    `void` | `setImports(Import[] aImports)` Sets the imports declared by this Type System.
    `void` | `setName(String aName)` Sets the name of this Type System.
    `void` | `setTypes(TypeDescription[] aTypes)` Sets the descriptions of all Types in this TypeSystem fragment.
    `void` | `setVendor(String aVendor)` Sets the vendor of this Type System.
    `void` | `setVersion(String aVersion)` Sets the version number of this Type System.

    - ### Methods inherited from interface org.apache.uima.resource.metadata.MetaDataObject

      `clone, equals, getAttributeValue, getSourceUrl, getSourceUrlString, isModifiable, listAttributes, setAttributeValue, setSourceUrl`

    - ### Methods inherited from interface org.apache.uima.util.XMLizable

      `buildFromXMLElement, buildFromXMLElement, toXML, toXML, toXML, toXML`

- - ### Field Detail

    - #### EMPTY_TYPE_SYSTEM_DESCRIPTIONS

          static final TypeSystemDescription[] EMPTY_TYPE_SYSTEM_DESCRIPTIONS

  - ### Method Detail

    - #### getName

          String getName()

      Gets the name of this Type System.
      Returns:
        the name of this Type System, null if none has been specified.

    - #### setName

          void setName(String aName)

      Sets the name of this Type System.
      Parameters:
        `aName` - the name of this Type System
      Throws:
        `UIMA_UnsupportedOperationException` - if this object is not modifiable

    - #### getVersion

          String getVersion()

      Gets the version number of this Type System.
      Returns:
        the version number of this Type System, as a String, null if none has been specified.

    - #### setVersion

          void setVersion(String aVersion)

      Sets the version number of this Type System.
      Parameters:
        `aVersion` - the version number of this Type System, as a String
      Throws:
        `UIMA_UnsupportedOperationException` - if this object is not modifiable

    - #### getDescription

          String getDescription()

      Gets the description of this Type System.
      Returns:
        the description of this Type System, null if none has been specified.

    - #### setDescription

          void setDescription(String aDescription)

      Sets the description of this Type System.
      Parameters:
        `aDescription` - the description of this Type System
      Throws:
        `UIMA_UnsupportedOperationException` - if this object is not modifiable

    - #### getVendor

          String getVendor()

      Gets the vendor of this Type System.
      Returns:
        the vendor of this Type System, as a String

    - #### setVendor

          void setVendor(String aVendor)

      Sets the vendor of this Type System.
      Parameters:
        `aVendor` - the vendor of this Type System, as a String, null if none has been specified.
      Throws:
        `UIMA_UnsupportedOperationException` - if this object is not modifiable

    - #### getImports

          Import[] getImports()

      Gets the imports declared by this Type System.
      Returns:
        an array of imports declared by this type system.

    - #### setImports

          void setImports(Import[] aImports)

      Sets the imports declared by this Type System.
      Parameters:
        `aImports` - an array of imports declared by this type system.

    - #### getTypes

          TypeDescription[] getTypes()

      Gets descriptions of all Types in this TypeSystem fragment.
      Returns:
        descriptions of all Types in this TypeSystem fragment

    - #### setTypes

          void setTypes(TypeDescription[] aTypes)

      Sets the descriptions of all Types in this TypeSystem fragment.
      Parameters:
        `aTypes` - descriptions of all Types in this TypeSystem fragment

    - #### addType

          TypeDescription addType(String aTypeName,
                                  String aDescription,
                                  String aSupertypeName)

      Adds a Type to this TypeSystem fragment.
      Parameters:
        `aTypeName` - name of Type to add
        `aDescription` - verbose description of this Type
        `aSupertypeName` - name of supertype for the new Type
      Returns:
        description of the new Type

    - #### getType

          TypeDescription getType(String aTypeName)

      Retrieves a Type from this TypeSystem fragment.
      Parameters:
        `aTypeName` - name of Type to retrieve
      Returns:
        the type with the specified name, `null` if no such type exists

    - #### resolveImports

          void resolveImports()
                       throws InvalidXMLException

      Resolves any import declarations in this type system, adding the imported types directly onto this TypeSystemDescription's `types` list. The import elements are then deleted, so this results in a structure that is equivalent to the imported elements having been defined locally.
      Throws:
        `InvalidXMLException` - if either the import target does not exist or is invalid

    - #### resolveImports

          void resolveImports(ResourceManager aResourceManager)
                       throws InvalidXMLException

      Resolves any import declarations in this type system, adding the imported types directly onto this TypeSystemDescription's `types` list. The import elements are then deleted, so this results in a structure that is equivalent to the imported elements having been defined locally.
      Parameters:
        `aResourceManager` - the Resource Manager used to locate type systems imported by name. For example, the path in which to locate these type systems can be set via the `ResourceManager.setDataPath(String)` method.
      Throws:
        `InvalidXMLException` - if either the import target does not exist or is invalid

    - #### resolveImports

          @Deprecated
          void resolveImports(Collection<String> aAlreadyImportedTypeSystemURLs,
                                          ResourceManager aResourceManager)
                                   throws InvalidXMLException

      Deprecated. Method is deprecated because it should only be used internally. Scheduled for removal in UIMA 4.0.
      Resolves any import declarations in this type system, adding the imported types directly onto this TypeSystemDescription's `types` list. The import elements are then deleted, so this results in a structure that is equivalent to the imported elements having been defined locally.

      This version is used internally to resolve nested imports.

      Parameters:
        `aResourceManager` - the Resource Manager used to locate type systems imported by name. For example, the path in which to locate these type systems can be set via the `ResourceManager.setDataPath(String)` method.
        `aAlreadyImportedTypeSystemURLs` - URLs of already imported type systems, so we don't import them again.
      Throws:
        `InvalidXMLException` - if either the import target does not exist or is invalid

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