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