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 Details

  • Method Details

    • 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