org.apache.uima.resource

## Interface ConfigurableResource

- All Superinterfaces:
    Resource
  All Known Subinterfaces:
    AnalysisEngine, CasConsumer, CasDataConsumer, CasDataInitializer, CasInitializer, CollectionReader, TextAnalysisEngine
  All Known Implementing Classes:
    AggregateAnalysisEngine_impl, AnalysisEngineImplBase, AnalysisEngineServiceAdapter, CasConsumer_ImplBase, CasDataCollectionReader_ImplBase, CasDataConsumer_ImplBase, CasDataInitializer_ImplBase, CasInitializer_ImplBase, CollectionReader_ImplBase, ConfigurableResource_ImplBase, FlowControllerContainer, MultiprocessingAnalysisEngine_impl, PearAnalysisEngineWrapper, PrimitiveAnalysisEngine_impl, UimacppAnalysisEngineImpl

      public interface ConfigurableResource
      extends Resource

  A `Resource` that has configuration parameters that can be changed after the Resource has been instantiated.

  To set configuration parameters, call the `setConfigParameterValue(String,String,Object)` method for each parameter that is to be set, and then call the `reconfigure()` method to cause the Resource to re-read its configuration settings.

  Note that if the Resource attempts to access its configuration settings between the call to `setConfigParameterValue` and the call to `reconfigure`, it may retrieve either the old value or the new value. This decision is left to the framework's `ConfigurationManager` implementation.

- - ### Field Summary

    - ### Fields inherited from interface org.apache.uima.resource.Resource

      `PARAM_AGGREGATE_SOFA_MAPPINGS, PARAM_CONFIG_MANAGER, PARAM_CONFIG_PARAM_SETTINGS, PARAM_EXTERNAL_OVERRIDE_SETTINGS, PARAM_PERFORMANCE_TUNING_SETTINGS, PARAM_RESOURCE_MANAGER, PARAM_UIMA_CONTEXT`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `getConfigParameterValue(String aParamName)` Looks up the value of a configuration parameter.
    `Object` | `getConfigParameterValue(String aGroupName, String aParamName)` Looks up the value of a configuration parameter in a group.
    `void` | `reconfigure()` Instructs this Resource to re-read its configuration parameter settings.
    `void` | `setConfigParameterValue(String aParamName, Object aValue)` Sets the value of a configuration parameter.
    `void` | `setConfigParameterValue(String aGroupName, String aParamName, Object aValue)` Sets the value of a configuration parameter in a group.

    - ### Methods inherited from interface org.apache.uima.resource.Resource

      `destroy, getLogger, getMetaData, getResourceManager, getUimaContext, getUimaContextAdmin, initialize, setLogger`

- - ### Method Detail

    - #### getConfigParameterValue

          Object getConfigParameterValue(String aParamName)

      Looks up the value of a configuration parameter. This method will only return the value of a parameter that is not defined in any 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.

      Parameters:
        `aParamName` - the name of a parameter that is not in any group
      Returns:
        the value of the parameter with name `aParamName`, `null` is either the parameter does not exist or it has not been assigned a value.

    - #### getConfigParameterValue

          Object getConfigParameterValue(String aGroupName,
                                         String aParamName)

      Looks up the value of a configuration parameter in a group. If the parameter has no value assigned within the group, fallback strategies will be followed.

      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.

      Parameters:
        `aGroupName` - the name of a configuration group. If the group name is `null`, this method will return the same value as `getParameterValue(String)`.
        `aParamName` - the name of a parameter in the group
      Returns:
        the value of the parameter in group `aGroupName` with name `aParamName`,,`null` is either the parameter does not exist or it has not been assigned a value.

    - #### setConfigParameterValue

          void setConfigParameterValue(String aParamName,
                                       Object aValue)

      Sets the value of a configuration parameter. This only works for a parameter that is not defined in any group. Note that there is no guarantee that the change will take effect until `reconfigure()` is called.
      Parameters:
        `aParamName` - the name of a parameter that is not in any group
        `aValue` - the value to assign to the parameter

    - #### setConfigParameterValue

          void setConfigParameterValue(String aGroupName,
                                       String aParamName,
                                       Object aValue)

      Sets the value of a configuration parameter in a group. Note that there is no guarantee that the change will take effect until `reconfigure()` is called.
      Parameters:
        `aGroupName` - the name of a configuration group. If this parameter is `null`, this method will have the same effect as `setParameterValue(String,Object)`.
        `aParamName` - the name of a parameter in the group
        `aValue` - the value to assign to the parameter.

    - #### reconfigure

          void reconfigure()
                    throws ResourceConfigurationException

      Instructs this Resource to re-read its configuration parameter settings.
      Throws:
        `ResourceConfigurationException` - if the configuration is not valid

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