Interface Capability
-
- All Superinterfaces:
java.lang.Cloneable,MetaDataObject,java.io.Serializable,XMLizable
- All Known Implementing Classes:
Capability_impl
public interface Capability extends MetaDataObject
ACapabilitydefines an operation that an Resource can carry out. Each Capability consists of the following information:- The output types and features that the Resource can produce in the CAS
- The input types and features that are required
- The Sofa names of input Sofas that are required
- The Sofa names of output Sofas that the resource can produce
- Preconditions that must be satisfied in order for processing to begin. In a text analysis engine, the most common precondition is a check on the language of the document.
MetaDataObjects, aCapabilitymay or may not be modifiable. An application can find out by calling theMetaDataObject.isModifiable()method.
-
-
Field Summary
Fields Modifier and Type Field Description static Capability[]EMPTY_CAPABILITIES
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddInputFeature(java.lang.String aFeatureName)A convenience method that adds an input Feature to this Capability.voidaddInputSofa(java.lang.String aSofaName)A convenience method that adds an input Sofa name to this Capability.voidaddInputType(java.lang.String aTypeName, boolean aAllAnnotatorFeatures)A convenience method that adds an input Type to this Capability.voidaddOutputFeature(java.lang.String aFeatureName)A convenience method that adds an output Feature to this Capability.voidaddOutputSofa(java.lang.String aSofaName)A convenience method that adds an output Sofa name to this Capability.voidaddOutputType(java.lang.String aTypeName, boolean aAllAnnotatorFeatures)A convenience method that adds an output Type to this Capability.voidaddSupportedLanguage(java.lang.String aLanguage)A convenience method that adds a supported language to this Capability.java.lang.StringgetDescription()Gets the description of this Capability.TypeOrFeature[]getInputs()Gets the inputs of this Capability.java.lang.String[]getInputSofas()Gets the inputs Sofa names of this Capability.java.lang.String[]getLanguagesSupported()A convenience method that analyzes the preconditions of thisCapabilityand returns the ISO language identifiers that the Resource supports.java.lang.String[]getMimeTypesSupported()A convenience method that analyzes the preconditions of thisCapabilityand returns the MIME types that the Resource can take as input.TypeOrFeature[]getOutputs()Gets the outputs of this Capability.java.lang.String[]getOutputSofas()Gets the output Sofa names of this Capability.Precondition[]getPreconditions()Retrieves the preconditions that must be satisfied in order for the Resource to begin processing.voidremoveSupportedLanguage(java.lang.String aLanguage)A convenience method that removes a supported language from this Capability.voidsetDescription(java.lang.String aDescription)Sets the description of this Capability.voidsetInputs(TypeOrFeature[] aInputs)Sets the inputs of this Capability.voidsetInputSofas(java.lang.String[] aInputSofas)Sets the input Sofa names.voidsetLanguagesSupported(java.lang.String[] aLanguageIDs)A convenience method that sets the languages that this Resource supports.voidsetMimeTypesSupported(java.lang.String[] aMimeTypes)A convenience method that sets the MIME types that this Resource can take as input.voidsetOutputs(TypeOrFeature[] aOutputs)Sets the outputs of this Capability.voidsetOutputSofas(java.lang.String[] aOutputSofas)Sets the output Sofa names of this capabilityvoidsetPreconditions(Precondition[] aPreconditions)Sets thePreconditions of thisCapability.-
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_CAPABILITIES
static final Capability[] EMPTY_CAPABILITIES
-
-
Method Detail
-
getDescription
java.lang.String getDescription()
Gets the description of this Capability.- Returns:
- the description of this Capability.
-
setDescription
void setDescription(java.lang.String aDescription)
Sets the description of this Capability.- Parameters:
aDescription- aDescription the description of this Capability.
-
getInputs
TypeOrFeature[] getInputs()
Gets the inputs of this Capability.- Returns:
- an array of references to Types or Features in this Resource's Type System.
-
getOutputs
TypeOrFeature[] getOutputs()
Gets the outputs of this Capability.- Returns:
- an array of references to Types or Features in this Resource's TypeSystem.
-
getInputSofas
java.lang.String[] getInputSofas()
Gets the inputs Sofa names of this Capability.- Returns:
- an array of strings representing the SofAName
-
getOutputSofas
java.lang.String[] getOutputSofas()
Gets the output Sofa names of this Capability.- Returns:
- an array of strings representing output SofA names
-
getPreconditions
Precondition[] getPreconditions()
Retrieves the preconditions that must be satisfied in order for the Resource to begin processing.- Returns:
- an unmodifiable list of
Preconditions.
-
getLanguagesSupported
java.lang.String[] getLanguagesSupported()
A convenience method that analyzes the preconditions of thisCapabilityand returns the ISO language identifiers that the Resource supports. This is only meaningful when analyzing text documents.- Returns:
- an array of ISO language identifiers. An empty array means that the Resource claims to be language-independent.
-
getMimeTypesSupported
java.lang.String[] getMimeTypesSupported()
A convenience method that analyzes the preconditions of thisCapabilityand returns the MIME types that the Resource can take as input.- Returns:
- an array of MIME types. This may be empty if the Resource does not declare MIME type preconditions.
-
setInputs
void setInputs(TypeOrFeature[] aInputs)
Sets the inputs of this Capability.- Parameters:
aInputs- an array of references to Types or Features in this Resource's TypeSystem.
-
setOutputs
void setOutputs(TypeOrFeature[] aOutputs)
Sets the outputs of this Capability.- Parameters:
aOutputs- an array of references to Types or Features in this Resource's TypeSystem.
-
setInputSofas
void setInputSofas(java.lang.String[] aInputSofas)
Sets the input Sofa names.- Parameters:
aInputSofas- an array of strings containing SofA names
-
setOutputSofas
void setOutputSofas(java.lang.String[] aOutputSofas)
Sets the output Sofa names of this capability- Parameters:
aOutputSofas- an array of strings containing SoFA name
-
setPreconditions
void setPreconditions(Precondition[] aPreconditions)
Sets thePreconditions of thisCapability.- Parameters:
aPreconditions- an array ofPreconditionobjects- Throws:
UIMA_UnsupportedOperationException- if thisMetaDataObjectis not modifiable.
-
setLanguagesSupported
void setLanguagesSupported(java.lang.String[] aLanguageIDs)
A convenience method that sets the languages that this Resource supports. This is only meaningful when text documents are analyzed.Calling this method affects the preconditions of this
Capability. All other language support preconditions will be removed, but non-language related preconditions will be unaffected.- Parameters:
aLanguageIDs- an array of ISO language identifiers. An empty array means that the Resource claims to be language-independent.
-
setMimeTypesSupported
void setMimeTypesSupported(java.lang.String[] aMimeTypes)
A convenience method that sets the MIME types that this Resource can take as input.Calling this method affects the preconditions of this
Capability. All other MIME type preconditions will be removed, but other preconditions will be unaffected.- Parameters:
aMimeTypes- an array of MIME types. This may be empty if the Resource does not declare MIME type preconditions.
-
addInputType
void addInputType(java.lang.String aTypeName, boolean aAllAnnotatorFeatures)A convenience method that adds an input Type to this Capability.- Parameters:
aTypeName- the fully qualified type nameaAllAnnotatorFeatures- if true, indicates that this Capability requires as input all features of this type that are specified in the same AnalysisEngine descriptor. If false, features must be explicitly declared by callingaddInputFeature(String).
-
addInputFeature
void addInputFeature(java.lang.String aFeatureName)
A convenience method that adds an input Feature to this Capability.- Parameters:
aFeatureName- the fully qualified feature name
-
addOutputType
void addOutputType(java.lang.String aTypeName, boolean aAllAnnotatorFeatures)A convenience method that adds an output Type to this Capability.- Parameters:
aTypeName- the fully qualified type nameaAllAnnotatorFeatures- if true, indicates that this Capability declares as output all features of this type that are specified in the same AnalysisEngine descriptor. If false, features must be explicitly declared by callingaddOutputFeature(String).
-
addOutputFeature
void addOutputFeature(java.lang.String aFeatureName)
A convenience method that adds an output Feature to this Capability.- Parameters:
aFeatureName- the fully qualified feature name
-
addInputSofa
void addInputSofa(java.lang.String aSofaName)
A convenience method that adds an input Sofa name to this Capability.- Parameters:
aSofaName- the sofa to add to the inputs
-
addOutputSofa
void addOutputSofa(java.lang.String aSofaName)
A convenience method that adds an output Sofa name to this Capability.- Parameters:
aSofaName- the sofa to add as an output
-
addSupportedLanguage
void addSupportedLanguage(java.lang.String aLanguage)
A convenience method that adds a supported language to this Capability.- Parameters:
aLanguage- the ISO language identifier
-
removeSupportedLanguage
void removeSupportedLanguage(java.lang.String aLanguage)
A convenience method that removes a supported language from this Capability.- Parameters:
aLanguage- the ISO language identifier
-
-