public interface UimaContext
UimaContext
provides UIMA resources (e.g. Annotators, Collection Readers, CAS Consumers, CAS Initializers)
with all access to external resources (other than the CAS
). Examples
include:
Modifier and Type | Method and Description |
---|---|
String[] |
getConfigParameterNames()
Gets the names of all configuration parameters that are not declared in a group.
|
String[] |
getConfigParameterNames(String aGroup)
Gets the names of all configuration parameters in the specified group.
|
Object |
getConfigParameterValue(String aParamName)
Retrieves the value for a configuration parameter that is not defined in any group or is
defined in the default group.
|
Object |
getConfigParameterValue(String aGroupName,
String aParamName)
Retrieves the value for a configuration parameter in a particular group.
|
String[] |
getConfigurationGroupNames()
Gets the names of all configuration parameter groups.
|
String |
getDataPath()
Gets the data path used to locate resources.
|
<T extends AbstractCas> |
getEmptyCas(Class<T> aCasInterface)
Get an empty CAS.
|
Settings |
getExternalOverrides()
Gets the
Settings used for external parameter overrides |
InstrumentationFacility |
getInstrumentationFacility()
Gets the
InstrumentationFacility that a component can use to record information
about its performance. |
Logger |
getLogger()
Gets the
Logger to which log output will be sent. |
InputStream |
getResourceAsStream(String aKey)
Retrieves an InputStream for reading from the named resource.
|
InputStream |
getResourceAsStream(String aKey,
String[] aParams)
Retrieves an InputStream for reading from the named resource.
|
String |
getResourceFilePath(String aKey)
Retrieves the absolute file path to the named resource.
|
String |
getResourceFilePath(String aKey,
String[] aParams)
Retrieves the absolute file path to the named resource.
|
Object |
getResourceObject(String aKey)
Retrieves the named resource object.
|
Object |
getResourceObject(String aKey,
String[] aParams)
Retrieves the named resource object.
|
URI |
getResourceURI(String aKey)
Retrieves the URI to the named resource.
|
URI |
getResourceURI(String aKey,
String[] aParams)
Retrieves the URI to the named resource.
|
URL |
getResourceURL(String aKey)
Retrieves the URL to the named resource.
|
URL |
getResourceURL(String aKey,
String[] aParams)
Retrieves the URL to the named resource.
|
Session |
getSession()
Returns the Session object, which can be used to store data that pertains to a particular
client session.
|
String[] |
getSharedSettingArray(String name)
Get the array of values for a shared configuration parameter from the external override settings.
|
String[] |
getSharedSettingNames()
Get the names of all the external override settings available.
|
String |
getSharedSettingValue(String name)
Get the value of a shared configuration parameter from the external override settings.
|
SofaID[] |
getSofaMappings()
Deprecated.
As of v2.0, annotators no longer need to explicitly call this method. CAS views can
now be obtained directly by the method
CAS.getView(String) , and the
framework will automatically do the necessary Sofa mappings. |
String |
mapSofaIDToComponentSofaName(String aSofaID)
Retrieve the sofa name as known to the component given an absolute Sofa ID.
|
SofaID |
mapToSofaID(String aSofaName)
Deprecated.
As of v2.0, annotators no longer need to explicitly call this method. CAS views can
now be obtained directly by the method
CAS.getView(String) , and the
framework will automatically do the necessary Sofa mappings. |
Object getConfigParameterValue(String aParamName)
This method returns null
if the parameter is optional and has not been assigned
a value. (For mandatory parameters, an exception is thrown during initialization if no value
has been assigned.) This method also returns null
if there is no declared
configuration parameter with the specified name.
aParamName
- the name of the parameter to look upnull
if the parameter does not exist or
has not been assigned a value.Object getConfigParameterValue(String aGroupName, String aParamName)
ConfigurationParameterDeclarations.getSearchStrategy()
property will be used. The search strategy can be specified in the descriptor.
This method returns null
if the parameter is optional and has not been assigned
a value. (For mandatory parameters, an exception is thrown during initialization if no value
has been assigned.) This method also returns null
if there is no declared
configuration parameter with the specified name.
aGroupName
- the name of the group containing the parameteraParamName
- the name of the parameter to look upnull
if the parameter does not exist or
has not been assigned a value.String[] getConfigurationGroupNames()
String[] getConfigParameterNames(String aGroup)
aGroup
- the group nameaGroup
. Note that this does include parameters with null values.
Returns an empty array if there are none (including if the group does not exist).String[] getConfigParameterNames()
String getSharedSettingValue(String name) throws ResourceConfigurationException
name
- - the name of the parameterResourceConfigurationException
- if the value references an undefined parameter, or the value is an arrayString[] getSharedSettingArray(String name) throws ResourceConfigurationException
name
- - the name of the parameterResourceConfigurationException
- if the value references an undefined parameter, or the value is not an arrayString[] getSharedSettingNames()
Settings getExternalOverrides()
Settings
used for external parameter overridesLogger getLogger()
Logger
to which log output will be sent. UIMA components should use
this facility rather than writing to their own log files (or to stdout).InstrumentationFacility getInstrumentationFacility()
InstrumentationFacility
that a component can use to record information
about its performance.URL getResourceURL(String aKey) throws ResourceAccessException
Note that if the URL contains spaces may be encoded as %20. The URL.getPath()
method
does NOT decode these sequences, therefore it is not safe to call
getResourceURL().getPath()
and attempt to use the result as a file path.
Instead, you may use getResourceURI(String)
or getResourceFilePath(String)
.
For backwards compatibility, if the key is not declared as a resource dependency, it is looked
up directly in the data path
and the class path. However, this usage is
deprecated and support may be dropped in future versions. ALL external resource dependencies
should be declared in the descriptor.
aKey
- the key by which the resource is identified. This key should be declared in the
<externalResourceDependencies> section of the descriptor.URL
at which the named resource is located, null
if
the named resource could not be found.ResourceAccessException
- if a failure occurs in accessing the resourceURI getResourceURI(String aKey) throws ResourceAccessException
This method is safer than getResourceURL(String)
in its treatment of file paths
containing spaces. This is because the URI.getPath()
does perform URL decoding of that
path (decoding %20 sequences to spaces) whereas URL.getPath()
does not.
For backwards compatibility, if the key is not declared as a resource dependency, it is looked
up directly in the data path
and the class path. However, this usage is
deprecated and support may be dropped in future versions. ALL external resource dependencies
should be declared in the descriptor.
aKey
- the key by which the resource is identified. This key should be declared in the
<externalResourceDependencies> section of the descriptor.URI
at which the named resource is located, null
if
the named resource could not be found.ResourceAccessException
- if a failure occurs in accessing the resourceString getResourceFilePath(String aKey) throws ResourceAccessException
This only works if the resource is a local file. If the resource is not a local file (for
example, it could be an http
URL, then an exception will be thrown.
URL decoding will be done on the file path, so it is safe to use this method for file paths
that contain spaces.
For backwards compatibility, if the key is not declared as a resource dependency, it is looked
up directly in the data path
and the class path. However, this usage is
deprecated and support may be dropped in future versions. ALL external resource dependencies
should be declared in the descriptor.
aKey
- the key by which the resource is identified. This key should be declared in the
<externalResourceDependencies> section of the descriptor.null
if
the named resource could not be found.ResourceAccessException
- if the resource is not a local file, or if a failure occurs in accessing the resourceInputStream getResourceAsStream(String aKey) throws ResourceAccessException
For backwards compatibility, if the key is not declared as a resource dependency, it is looked
up directly in the data path
and the class path. However, this usage is
deprecated and support may be dropped in future versions. ALL external resource dependencies
should be declared in the descriptor.
aKey
- the key by which the resource is identified. This key should be declared in the
<externalResourceDependencies> section of the descriptor.InputStream
for reading from the named resource, null
if the named resource could not be found. It is the caller's responsibility to close
this stream once it is no longer needed.ResourceAccessException
- if a failure occurs in accessing the resourceObject getResourceObject(String aKey) throws ResourceAccessException
aKey
- the key by which the resource is identified. This key should be declared in the
<externalResourceDependencies> section of the descriptor.aName
, null
if none.ResourceAccessException
- if a failure occurs in accessing the resourceURL getResourceURL(String aKey, String[] aParams) throws ResourceAccessException
Note that if the URL contains spaces they may be encoded as %20. The URL.getPath()
method does NOT decode these sequences, therefore it is not safe to call
getResourceURL().getPath()
and attempt to use the result as a file path.
Instead, you may use getResourceURI(String)
or getResourceFilePath(String)
.
For backwards compatibility, if the key is not declared as a resource dependency, it is looked
up directly in the data path
and the class path. However, this usage is
deprecated and support may be dropped in future versions. ALL external resource dependencies
should be declared in the descriptor.
This version of this method takes an array of parameters used to further identify the resource. This can be used, for example, with resources that vary depending on the language of the document being analyzed, such as when the <fileLanguageResourceSpecifier> element is used in the component descriptor.
aKey
- the key by which the resource is identified. This key should be declared in the
<externalResourceDependencies> section of the descriptor.aParams
- parameters used to further identify the resource. When used to identify the language
for a <fileLanguageResourceSpecifier>, this array should contain a single element,
the ISO language code for the language of the document (e.g. "en", "de").URL
at which the named resource is located, null
if
the named resource could not be found.ResourceAccessException
- if a failure occurs in accessing the resourceURI getResourceURI(String aKey, String[] aParams) throws ResourceAccessException
This method is safer than getResourceURL(String)
in its treatment of file paths
containing spaces. This is because the URI.getPath()
does perform URL decoding of that
path (decoding %20 sequences to spaces) whereas URL.getPath()
does not.
For backwards compatibility, if the key is not declared as a resource dependency, it is looked
up directly in the data path
and the class path. However, this usage is
deprecated and support may be dropped in future versions. ALL external resource dependencies
should be declared in the descriptor.
This version of this method takes an array of parameters used to further identify the resource. This can be used, for example, with resources that vary depending on the language of the document being analyzed, such as when the <fileLanguageResourceSpecifier> element is used in the component descriptor.
aKey
- the key by which the resource is identified. This key should be declared in the
<externalResourceDependencies> section of the descriptor.aParams
- parameters used to further identify the resource. When used to identify the language
for a <fileLanguageResourceSpecifier>, this array should contain a single element,
the ISO language code for the language of the document (e.g. "en", "de").URI
at which the named resource is located, null
if
the named resource could not be found.ResourceAccessException
- if a failure occurs in accessing the resourceString getResourceFilePath(String aKey, String[] aParams) throws ResourceAccessException
This only works if the resource is a local file. If the resource is not a local file (for
example, it could be an http
URL, then an exception will be thrown.
URL decoding will be done on the file path, so it is safe to use this method for file paths that contain spaces.
For backwards compatibility, if the key is not declared as a resource dependency, it is looked
up directly in the data path
and the class path. However, this usage is
deprecated and support may be dropped in future versions. ALL external resource dependencies
should be declared in the descriptor.
This version of this method takes an array of parameters used to further identify the resource. This can be used, for example, with resources that vary depending on the language of the document being analyzed, such as when the <fileLanguageResourceSpecifier> element is used in the component descriptor.
aKey
- the key by which the resource is identified. This key should be declared in the
<externalResourceDependencies> section of the descriptor.aParams
- parameters used to further identify the resource. When used to identify the language
for a <fileLanguageResourceSpecifier>, this array should contain a single element,
the ISO language code for the language of the document (e.g. "en", "de").null
if
the named resource could not be found.ResourceAccessException
- if the resource is not a local file, or if a failure occurs in accessing the resourceInputStream getResourceAsStream(String aKey, String[] aParams) throws ResourceAccessException
For backwards compatibility, if the key is not declared as a resource dependency, it is looked
up directly in the data path
and the class path. However, this usage is
deprecated and support may be dropped in future versions. ALL external resource dependencies
should be declared in the descriptor.
This version of this method takes an array of parameters used to further identify the resource. This can be used, for example, with resources that vary depending on the language of the document being analyzed, such as when the <fileLanguageResourceSpecifier> element is used in the component descriptor.
aKey
- the key by which the resource is identified. This key should bd declared in the
<externalResourceDependencies> section of the descriptor.aParams
- parameters used to further identify the resource. When used to identify the language
for a <fileLanguageResourceSpecifier>, this array should contain a single element,
the ISO language code for the language of the document (e.g. "en", "de").InputStream
for reading from the named resource, null
if the named resource could not be found. It is the caller's responsibility to close
this stream once it is no longer needed.ResourceAccessException
- if a failure occurs in accessing the resourceObject getResourceObject(String aKey, String[] aParams) throws ResourceAccessException
This version of this method takes an array of parameters used to further identify the resource. This can be used, for example, with resources that vary depending on the language of the document being analyzed, such as when the <fileLanguageResourceSpecifier> element is used in the component descriptor.
aKey
- the key by which the resource is identified. This key should be declared in the
<externalResourceDependencies> section of the descriptor.aParams
- parameters used to further identify the resource. When used to identify the language
for a <fileLanguageResourceSpecifier>, this array should contain a single element,
the ISO language code for the language of the document (e.g. "en", "de").aName
, null
if none.ResourceAccessException
- if a failure occurs in accessing the resourceString getDataPath()
path.separator
character (; on windows, : on UNIX).
This method is intended to be used only for integration of legacy or third-party components
that have their own resource management facility. If possible, it is recommended that you use
the getResoureXXX
methods instead.
Session getSession()
Note that Session support is NOT implemented in any of the service wrappers (Vinci, SOAP) currently provided in the UIMA SDK.
@Deprecated SofaID mapToSofaID(String aSofaName)
CAS.getView(String)
, and the
framework will automatically do the necessary Sofa mappings.aSofaName
- this component's name for a SofAString mapSofaIDToComponentSofaName(String aSofaID)
aSofaID
- absolute SofA ID@Deprecated SofaID[] getSofaMappings()
CAS.getView(String)
, and the
framework will automatically do the necessary Sofa mappings.<T extends AbstractCas> T getEmptyCas(Class<T> aCasInterface)
CasMultiplier_ImplBase.getEmptyCAS()
or
JCasMultiplier_ImplBase.getEmptyJCas()
method.
This method may maintain a pool of CASes and may block if none are currently available.
T
- the type of the CAS interface (CAS or JCas)aCasInterface
- the specific CAS interface that the component wants to use (e.g. CAS or JCas). Must
specify a subtype of AbstractCas
.aCasInterface
.Copyright © 2006–2017 The Apache Software Foundation. All rights reserved.