org.apache.uima.resource.metadata
Interface TypeSystemDescription

All Superinterfaces:
Cloneable, MetaDataObject, Serializable, XMLizable

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.


Method Summary
 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)
          Resolves any import declarations in this type system, adding the imported types directly onto this TypeSystemDescription's types list.
 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
 

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

void resolveImports(Collection<String> aAlreadyImportedTypeSystemURLs,
                    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.

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 © 2010 The Apache Software Foundation. All Rights Reserved.