org.apache.uima.analysis_engine.impl

## Class AnnotatorContext_impl

- java.lang.Object
- - org.apache.uima.analysis_engine.impl.AnnotatorContext_impl

- All Implemented Interfaces:
    AnnotatorContext

      public class AnnotatorContext_impl
      extends Object
      implements AnnotatorContext

  Reference implementation of `AnnotatorContext`.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AnnotatorContext_impl(UimaContextAdmin aUimaContext)` Creates a new AnnotatorContext_impl.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    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 aName)` 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.
    `InstrumentationFacility` | `getInstrumentationFacility()` Gets the InstrumentationFacility to be used within this AnalysisEngine.
    `Logger` | `getLogger()` Gets the `Logger` to which this annotator should send its log output.
    `InputStream` | `getResourceAsStream(String aKey)` Acquires Resource InputStreams using the ResourceManager, or, if that fails, the ClassLoader.
    `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)` Acquires a Resource object using the ResourceManager.
    `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)` Locates Resource URL's using the ResourceManager, or, if that fails, the ClassLoader.
    `URL` | `getResourceURL(String aKey, String[] aParams)` Retrieves the URL to the named resource.
    `SofaID[]` | `getSofaMappings()` Deprecated. `AnnotatorContext.getSofaMappings()`
    `SofaID` | `mapToSofaID(String aSofaName)` Deprecated. `AnnotatorContext.mapToSofaID(java.lang.String)`
    `void` | `setProcessTrace(ProcessTrace aProcessTrace)` Sets the current ProcessTrace object, which will receive trace events generated by the InstrumentationFacility.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AnnotatorContext_impl

          public AnnotatorContext_impl(UimaContextAdmin aUimaContext)

      Creates a new AnnotatorContext_impl.
      Parameters:
        `aUimaContext` - the UIMA Context that this AnnotatorContext wraps.

  - ### Method Detail

    - #### getConfigParameterValue

          public Object getConfigParameterValue(String aName)

      Description copied from interface: `AnnotatorContext`
      Retrieves the value for a configuration parameter that is not defined in any group or is defined in the default group.

      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.

      Specified by:
        `getConfigParameterValue` in interface `AnnotatorContext`
      Parameters:
        `aName` - the name of the parameter to look up
      Returns:
        the value of the parameter with the given name. The annotator is expected to know the data type of its parameters. Returns `null` if the parameter does not exist or has not been assigned a value.
      See Also:
        `AnnotatorContext.getConfigParameterValue(String)`

    - #### getConfigParameterValue

          public Object getConfigParameterValue(String aGroupName,
                                                String aParamName)

      Description copied from interface: `AnnotatorContext`
      Retrieves the value for a configuration parameter in a particular group. If that group contains no value for the specified parameter, the fallback strategy specified by the Analysis Engine's `ConfigurationParameterDeclarations.getSearchStrategy()` property will be used. The search strategy can be specified in the Analysis Engine 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.

      Specified by:
        `getConfigParameterValue` in interface `AnnotatorContext`
      Parameters:
        `aGroupName` - the name of the group containing the parameter
        `aParamName` - the name of the parameter to look up
      Returns:
        the value of the parameter with the given name. The annotator is expected to know the data type of its parameters. Returns `null` if the parameter does not exist or has not been assigned a value.
      See Also:
        `AnnotatorContext.getConfigParameterValue(java.lang.String, java.lang.String)`

    - #### getLogger

          public Logger getLogger()

      Description copied from interface: `AnnotatorContext`
      Gets the `Logger` to which this annotator should send its log output. Annotators should use this facility rather than writing to their own log files (or to stdout).
      Specified by:
        `getLogger` in interface `AnnotatorContext`
      Returns:
        an instance of a logger for use by this annotator.
      See Also:
        `AnnotatorContext.getLogger()`

    - #### getInstrumentationFacility

          public InstrumentationFacility getInstrumentationFacility()

      Gets the InstrumentationFacility to be used within this AnalysisEngine.
      Specified by:
        `getInstrumentationFacility` in interface `AnnotatorContext`
      Returns:
        the InstrumentationFacility to be used within this AnalysisEngine

    - #### getConfigurationGroupNames

          public String[] getConfigurationGroupNames()

      Description copied from interface: `AnnotatorContext`
      Gets the names of all configuration parameter groups.
      Specified by:
        `getConfigurationGroupNames` in interface `AnnotatorContext`
      Returns:
        an array containing the names of all configuration groups that exist for this annotator. Returns an empty array if no groups are declared.

    - #### getConfigParameterNames

          public String[] getConfigParameterNames()

      Description copied from interface: `AnnotatorContext`
      Gets the names of all configuration parameters that are not declared in a group.
      Specified by:
        `getConfigParameterNames` in interface `AnnotatorContext`
      Returns:
        an array containing the names of all configuration parameters not declared in any group. Returns an empty array if there are none.

    - #### getConfigParameterNames

          public String[] getConfigParameterNames(String aGroup)

      Description copied from interface: `AnnotatorContext`
      Gets the names of all configuration parameters in the specified group.
      Specified by:
        `getConfigParameterNames` in interface `AnnotatorContext`
      Parameters:
        `aGroup` - the group name
      Returns:
        an array containing the names of all configuration parameters declared in {`aGroup`. Note that this does include parameters with null values. Returns an empty array if there are none (including if the group does not exist).

    - #### getResourceURL

          public URL getResourceURL(String aKey)
                             throws AnnotatorContextException

      Locates Resource URL's using the ResourceManager, or, if that fails, the ClassLoader.
      Specified by:
        `getResourceURL` in interface `AnnotatorContext`
      Parameters:
        `aKey` - the key by which the resource is identified. This key should be declared in the <externalResourceDependencies> section of the descriptor.
      Returns:
        the `URL` at which the named resource is located, `null` if the named resource could not be found.
      Throws:
        `AnnotatorContextException` - if there's a problem
      See Also:
        `AnnotatorContext.getResourceURL(String)`

    - #### getResourceURI

          public URI getResourceURI(String aKey)
                             throws AnnotatorContextException

      Description copied from interface: `AnnotatorContext`
      Retrieves the URI to the named resource. This can be used, for example, to locate configuration or authority files. The resource should be declared in the <externalResourceDependencies> section of the descriptor.

      This method is safer than `AnnotatorContext.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.

      Specified by:
        `getResourceURI` in interface `AnnotatorContext`
      Parameters:
        `aKey` - the key by which the resource is identified. This key should be declared in the <externalResourceDependencies> section of the descriptor.
      Returns:
        the `URI` at which the named resource is located, `null` if the named resource could not be found.
      Throws:
        `AnnotatorContextException` - if there's an exception
      See Also:
        `UimaContext.getResourceURI(String)`

    - #### getResourceFilePath

          public String getResourceFilePath(String aKey)
                                     throws AnnotatorContextException

      Description copied from interface: `AnnotatorContext`
      Retrieves the absolute file path to the named resource. This can be used, for example, to locate configuration or authority files. The resource should be declared in the <externalResourceDependencies> section of the descriptor.

      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.

      Specified by:
        `getResourceFilePath` in interface `AnnotatorContext`
      Parameters:
        `aKey` - the key by which the resource is identified. This key should be declared in the <externalResourceDependencies> section of the descriptor.
      Returns:
        the absolute file path at which the named resource is located, `null` if the named resource could not be found.
      Throws:
        `AnnotatorContextException` - if there's an exception
      See Also:
        `UimaContext.getResourceFilePath(String)`

    - #### getResourceAsStream

          public InputStream getResourceAsStream(String aKey)
                                          throws AnnotatorContextException

      Acquires Resource InputStreams using the ResourceManager, or, if that fails, the ClassLoader.
      Specified by:
        `getResourceAsStream` in interface `AnnotatorContext`
      Parameters:
        `aKey` - the key by which the resource is identified. This key should be declared in the <externalResourceDependencies> section of the descriptor.
      Returns:
        an `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.
      Throws:
        `AnnotatorContextException` - if an error occurs
      See Also:
        `AnnotatorContext.getResourceAsStream(String)`

    - #### getResourceObject

          public Object getResourceObject(String aKey)
                                   throws AnnotatorContextException

      Acquires a Resource object using the ResourceManager.
      Specified by:
        `getResourceObject` in interface `AnnotatorContext`
      Parameters:
        `aKey` - the key by which the resource is identified. This key should be declared in the <externalResourceDependencies> section of the descriptor.
      Returns:
        the object bound to `aName`, `null` if none.
      Throws:
        `AnnotatorContextException` - if an error occurs
      See Also:
        `AnnotatorContext.getResourceObject(String)`

    - #### getResourceAsStream

          public InputStream getResourceAsStream(String aKey,
                                                 String[] aParams)
                                          throws AnnotatorContextException

      Description copied from interface: `AnnotatorContext`
      Retrieves an InputStream for reading from the named resource. This can be used, for example, to locate configuration or authority files. The resource should be declared in the <externalResourceDependencies> section of the descriptor.

      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.

      Specified by:
        `getResourceAsStream` in interface `AnnotatorContext`
      Parameters:
        `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").
      Returns:
        an `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.
      Throws:
        `AnnotatorContextException` - if an error occurs
      See Also:
        `AnnotatorContext.getResourceAsStream(java.lang.String, java.lang.String[])`

    - #### getResourceObject

          public Object getResourceObject(String aKey,
                                          String[] aParams)
                                   throws AnnotatorContextException

      Description copied from interface: `AnnotatorContext`
      Retrieves the named resource object. This can be used to acquire references to external resources. The resource should be declared in the <externalResourceDependencies> section of 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.

      Specified by:
        `getResourceObject` in interface `AnnotatorContext`
      Parameters:
        `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").
      Returns:
        the object bound to `aName`, `null` if none.
      Throws:
        `AnnotatorContextException` - if an error occurs
      See Also:
        `AnnotatorContext.getResourceObject(java.lang.String, java.lang.String[])`

    - #### getResourceURL

          public URL getResourceURL(String aKey,
                                    String[] aParams)
                             throws AnnotatorContextException

      Description copied from interface: `AnnotatorContext`
      Retrieves the URL to the named resource. This can be used, for example, to locate configuration or authority files. The resource should be declared in the <externalResourceDependencies> section of the descriptor.

      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 `AnnotatorContext.getResourceURI(String)` or `AnnotatorContext.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.

      Specified by:
        `getResourceURL` in interface `AnnotatorContext`
      Parameters:
        `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").
      Returns:
        the `URL` at which the named resource is located, `null` if the named resource could not be found.
      Throws:
        `AnnotatorContextException` - if an error occurs
      See Also:
        `AnnotatorContext.getResourceURL(java.lang.String, java.lang.String[])`

    - #### getResourceURI

          public URI getResourceURI(String aKey,
                                    String[] aParams)
                             throws AnnotatorContextException

      Description copied from interface: `AnnotatorContext`
      Retrieves the URI to the named resource. This can be used, for example, to locate configuration or authority files. The resource should be declared in the <externalResourceDependencies> section of the descriptor.

      This method is safer than `AnnotatorContext.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.

      Specified by:
        `getResourceURI` in interface `AnnotatorContext`
      Parameters:
        `aKey` - the key by which the resource is identified. This key should be declared in the <externalResourceDependencies> section of the descriptor.
        `aParams` - the additional parameters to further identify the resource
      Returns:
        the `URI` at which the named resource is located, `null` if the named resource could not be found.
      Throws:
        `AnnotatorContextException` - if an error occurs
      See Also:
        `UimaContext.getResourceURI(String,String[])`

    - #### getResourceFilePath

          public String getResourceFilePath(String aKey,
                                            String[] aParams)
                                     throws AnnotatorContextException

      Description copied from interface: `AnnotatorContext`
      Retrieves the absolute file path to the named resource. This can be used, for example, to locate configuration or authority files. The resource should be declared in the <externalResourceDependencies> section of the descriptor.

      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.

      Specified by:
        `getResourceFilePath` in interface `AnnotatorContext`
      Parameters:
        `aKey` - the key by which the resource is identified. This key should be declared in the <externalResourceDependencies> section of the descriptor.
        `aParams` - The parameters used to further specify the resource
      Returns:
        the absolute file path at which the named resource is located, `null` if the named resource could not be found.
      Throws:
        `AnnotatorContextException` - if an error occurs
      See Also:
        `UimaContext.getResourceFilePath(String,String[])`

    - #### getDataPath

          public String getDataPath()

      Description copied from interface: `AnnotatorContext`
      Gets the data path used to locate resources. This path may contain more than one directory, separated by the System `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.

      Specified by:
        `getDataPath` in interface `AnnotatorContext`
      Returns:
        the data path
      See Also:
        `AnnotatorContext.getDataPath()`

    - #### setProcessTrace

          public void setProcessTrace(ProcessTrace aProcessTrace)

      Sets the current ProcessTrace object, which will receive trace events generated by the InstrumentationFacility.

      This method is to be called from the Analysis Engine, not the Annotator, so it is not part of the AnnotatorContext interface.

      Parameters:
        `aProcessTrace` - -

    - #### mapToSofaID

          @Deprecated
          public SofaID mapToSofaID(String aSofaName)

      Deprecated. `AnnotatorContext.mapToSofaID(java.lang.String)`
      Description copied from interface: `AnnotatorContext`
      Retrieve actual sofa ID given a symbolic name
      Specified by:
        `mapToSofaID` in interface `AnnotatorContext`
      Parameters:
        `aSofaName` - this component's name for a SofA
      Returns:
        absolute SofA ID

    - #### getSofaMappings

          @Deprecated
          public SofaID[] getSofaMappings()

      Deprecated. `AnnotatorContext.getSofaMappings()`
      Specified by:
        `getSofaMappings` in interface `AnnotatorContext`
      Returns:
        array of SofaID objects containing mapping of component sofa name to absolute sofa id

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