Package net.sf.basedb.core.plugin
Class NamespaceParameterValuesWrapper
java.lang.Object
net.sf.basedb.core.plugin.NamespaceParameterValuesWrapper
- All Implemented Interfaces:
ParameterValues
A helper class that wraps a parameter values object with
a namespace. All write operations will be made to the specified
namespace. Eg, the 'name' parameter is replaced with the namespace
+ dot + the original name. For example, if namespace="export" and
name="toDir", the resulting name is "export.toDir". Read operations will
first check the namespace if the parameter exists, otherwise the parameter
in the global namespace is used. All other methods simply forward to the
parent parameter values object.
The main usage for this class is when a master plug-in needs to use other child plug-ins. By wrapping the parameter values with an instance of this class it makes it possible to store all parameters together without having to worry about name clashes among the children.
- Since:
- 2.15
- Author:
- nicklas
- See Also:
- Last modified
- $Date $
-
Field Summary
-
Constructor Summary
ConstructorDescriptionNamespaceParameterValuesWrapper
(ParameterValues parent, String namespace) Create a new namespace wrapper for the parent parameter values. -
Method Summary
Modifier and TypeMethodDescriptionint
getId()
Get the ID of the job or configuration the parameters comes from.getJob()
Get the job that we are executing/configuring.Get the configuration that we are using/configuring.Get the plugin that we are executing/configuring.<T> T
Get a single value for a specific parameter.<T> List<T>
Get aList
of values for a specific parameter.<T> void
setValue
(String name, ParameterType<T> type, T value) Set a single value for a parameter.<T> void
setValues
(String name, ParameterType<T> type, List<T> values) Set a list of values for a parameter.
-
Field Details
-
namespace
-
parent
-
-
Constructor Details
-
NamespaceParameterValuesWrapper
Create a new namespace wrapper for the parent parameter values.- Parameters:
parent
- The parent parameter values, null is not allowednamespace
- The namespace, null is not allowed
-
-
Method Details
-
getId
public int getId()Description copied from interface:ParameterValues
Get the ID of the job or configuration the parameters comes from.- Specified by:
getId
in interfaceParameterValues
-
getJob
Description copied from interface:ParameterValues
Get the job that we are executing/configuring.- Specified by:
getJob
in interfaceParameterValues
- Returns:
- A Job or null if not known
-
getPluginConfiguration
Description copied from interface:ParameterValues
Get the configuration that we are using/configuring.- Specified by:
getPluginConfiguration
in interfaceParameterValues
- Returns:
- A PluginConfiguration or null if not known
-
getPluginDefinition
Description copied from interface:ParameterValues
Get the plugin that we are executing/configuring.- Specified by:
getPluginDefinition
in interfaceParameterValues
- Returns:
- A PluginDefinition or null if not known
-
getValue
Description copied from interface:ParameterValues
Get a single value for a specific parameter. If the parameter has more then one value only the first value is returned. UseParameterValues.getValues(String)
to return all values as a list.- Specified by:
getValue
in interfaceParameterValues
- Parameters:
name
- the name of the parameter- Returns:
- The value or null if no parameter with that name is found
- Throws:
PermissionDeniedException
- If the logged in user doesn't have permission to read the valueBaseException
- If there is another error
-
getValues
Description copied from interface:ParameterValues
Get aList
of values for a specific parameter.- Specified by:
getValues
in interfaceParameterValues
- Parameters:
name
- The name of the parameter- Returns:
- The values or null if no parameter with that name is found
- Throws:
PermissionDeniedException
- If the logged in user doesn't have permission to read the valuesBaseException
- If there is another error
-
setValue
public <T> void setValue(String name, ParameterType<T> type, T value) throws PermissionDeniedException, InvalidDataException, BaseException Description copied from interface:ParameterValues
Set a single value for a parameter. The core will store the value at the appropriate place in the database. Ie. as a configuration value to either the plugin or job configuration. If the configuration settings are write protected because the plugin received an execute command the settings will not be changed. If the value is null, but the parameter type doesn't allow null values, the default value is used. If the default value is null, an exception will be thrown.- Specified by:
setValue
in interfaceParameterValues
- Parameters:
name
- The name of the parametertype
- The type of the valuevalue
- The value to be set- Throws:
PermissionDeniedException
- If the logged in user doesn't have write permissionInvalidDataException
- If the value is invalid according to the settings in the typeBaseException
- If there is another error
-
setValues
public <T> void setValues(String name, ParameterType<T> type, List<T> values) throws PermissionDeniedException, InvalidDataException, BaseException Description copied from interface:ParameterValues
Set a list of values for a parameter. The core will store the values at the appropriate place in the database. Ie. as a configuration value to either the plugin or job configuration. If the configuration settings are write protected because the plugin received an execute command the settings will not be changed.- Specified by:
setValues
in interfaceParameterValues
- Parameters:
name
- The name of the parametertype
- The type of the valuevalues
- A list containing the values- Throws:
PermissionDeniedException
- If the logged in user doesn't have write permissionInvalidDataException
- If any of the values is invalid according to the settings in the typeBaseException
- If there is another error
-