public class ParameterAccessor
extends java.lang.Object
DEFAULT_PARAMETERS_ATTRIBUTE
), but this can be changed using
setParameterAttribute(String)
. As a simple example: Assume this pipelet configuration:
<proc:configuration> <rec:Val key="property">configured</rec:Val> </proc:configuration>and a record on the blackboard looking like this:
<rec:Val key="_recordid">foobar</rec:Val> <rec:Map key="_parameters"> <rec:Val key="property">overridden</rec:Val> </rec:Map>Then this code:
ParameterAccessor parameters = new ParameterAccessor(blackboard, configuration); String propertyValue = parameters.getRequiredParameter("property");will set
propertyValue
to "configured"
. This code:
ParameterAccessor parameters = new ParameterAccessor(blackboard, configuration); parameters.setCurrentRecord("foobar"); String propertyValue = parameters.getRequiredParameter("property");will set
propertyValue
to "overridden"
.Modifier and Type | Field and Description |
---|---|
protected Blackboard |
_blackboard
blackboard service in processing.
|
protected AnyMap |
_config
pipelet configuration (optional).
|
protected java.lang.String |
_parametersAttribute
root attribute for parameters in records from blackboard.
|
protected java.lang.String |
_recordId
ID of currently processed record.
|
static java.lang.String |
DEFAULT_PARAMETERS_ATTRIBUTE
record attribute to check for parameters.
|
Constructor and Description |
---|
ParameterAccessor(AnyMap configuration)
create accessor for given configuration.
|
ParameterAccessor(Blackboard blackboard)
create accessor for given blackboard.
|
ParameterAccessor(Blackboard blackboard,
AnyMap configuration)
create accessor for given blackboard.
|
ParameterAccessor(Blackboard blackboard,
AnyMap configuration,
java.lang.String recordId)
for search pipelets/services: create accessor for given blackboard and request record.
|
ParameterAccessor(Blackboard blackboard,
java.lang.String recordId)
for search pipelets/services: create accessor for given blackboard and request record.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Boolean |
getBooleanParameter(java.lang.String name,
java.lang.Boolean defaultValue)
type-aware convenience method: convert result of getParameter() to Boolean.
|
java.lang.Double |
getFloatParameter(java.lang.String name,
java.lang.Double defaultValue)
type-aware convenience method: convert result of getParameter() to Double.
|
java.lang.Integer |
getIntParameter(java.lang.String name,
java.lang.Integer defaultValue)
type-aware convenience method: convert result of getParameter() to Integer.
|
java.lang.String |
getParameter(java.lang.String name,
java.lang.String defaultValue)
get named value of parameter annotation, according to precedence rules.
|
Any |
getParameterAny(java.lang.String name)
get the native any in parameter "name", according to precedence rules.
|
java.lang.String |
getParameterAttribute() |
java.util.List<java.lang.String> |
getParameters(java.lang.String name)
get anonymous values of first (according to precendence rules) subannotation.
|
java.lang.Boolean |
getRequiredBooleanParameter(java.lang.String name)
type-aware convenience method: convert result of getRequiredParameter() to Boolean.
|
java.lang.Double |
getRequiredFloatParameter(java.lang.String name)
type-aware convenience method: convert result of getRequiredParameter() to Double.
|
java.lang.Integer |
getRequiredIntParameter(java.lang.String name)
type-aware convenience method: convert result of getRequiredParameter() to Integer.
|
java.lang.String |
getRequiredParameter(java.lang.String name)
get named value of parameter annotation, according to precedence rules.
|
java.util.List<java.lang.String> |
getRequiredParameters(java.lang.String name)
get anonymous values of first (according to precendence rules) subannotation.
|
AnyMap |
getSubParameter(java.lang.String name)
access to first subannotation, according to precedence rules.
|
java.util.List<AnyMap> |
getSubParameters(java.lang.String name)
access to a multiple sub parameters, according to precedence rules.
|
ParameterAccessor |
setCurrentRecord(java.lang.String recordId)
set the ID of the record to read parameters from.
|
void |
setParameterAttribute(java.lang.String parameterAttribute)
set root attribute for parameters in records from blackboard.
|
ParameterAccessor |
setPipeletConfiguration(AnyMap config)
set the configuration of the current pipelet, to read fallback values for missing parameters.
|
public static final java.lang.String DEFAULT_PARAMETERS_ATTRIBUTE
protected final Blackboard _blackboard
protected java.lang.String _recordId
protected AnyMap _config
protected java.lang.String _parametersAttribute
public ParameterAccessor(AnyMap configuration)
configuration
- pipelet configurationpublic ParameterAccessor(Blackboard blackboard)
blackboard
- blackboard instance.public ParameterAccessor(Blackboard blackboard, AnyMap configuration)
blackboard
- blackboard instance.configuration
- pipelet configurationpublic ParameterAccessor(Blackboard blackboard, AnyMap configuration, java.lang.String recordId)
blackboard
- blackboard instance.configuration
- pipelet configurationrecordId
- current query record.public ParameterAccessor(Blackboard blackboard, java.lang.String recordId)
blackboard
- blackboard instance.recordId
- current query record.public void setParameterAttribute(java.lang.String parameterAttribute)
null
, the top-level attributes of records are interpreted as parameters.public java.lang.String getParameterAttribute()
public ParameterAccessor setCurrentRecord(java.lang.String recordId)
recordId
- current record to process.public ParameterAccessor setPipeletConfiguration(AnyMap config)
config
- pipelet configuration.public java.lang.String getParameter(java.lang.String name, java.lang.String defaultValue)
name
- parameter namedefaultValue
- default value.public java.lang.String getRequiredParameter(java.lang.String name) throws MissingParameterException
name
- parameter name.MissingParameterException
- if no matching parameter value can be found.public java.util.List<java.lang.String> getParameters(java.lang.String name)
name
- parameter namepublic java.util.List<java.lang.String> getRequiredParameters(java.lang.String name) throws MissingParameterException
name
- parameter nameMissingParameterException
- if no matching parameter value can be found.public java.lang.Integer getIntParameter(java.lang.String name, java.lang.Integer defaultValue)
name
- parameter namedefaultValue
- default valuepublic java.lang.Double getFloatParameter(java.lang.String name, java.lang.Double defaultValue)
name
- parameter namedefaultValue
- default valuepublic java.lang.Boolean getBooleanParameter(java.lang.String name, java.lang.Boolean defaultValue)
name
- parameter namedefaultValue
- default valuepublic java.lang.Integer getRequiredIntParameter(java.lang.String name) throws MissingParameterException
name
- parameter nameMissingParameterException
- if no matching parameter value can be found.public java.lang.Double getRequiredFloatParameter(java.lang.String name) throws MissingParameterException
name
- parameter nameMissingParameterException
- if no matching parameter value can be found.public java.lang.Boolean getRequiredBooleanParameter(java.lang.String name) throws MissingParameterException
name
- parameter nameMissingParameterException
- if no matching parameter value can be found.public AnyMap getSubParameter(java.lang.String name)
name
- annotation name.public java.util.List<AnyMap> getSubParameters(java.lang.String name)
name
- annotation name.public Any getParameterAny(java.lang.String name)
name
- parameter name