|
SMILA (incubation) API documentation | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eclipse.smila.processing.parameters.ParameterAccessor
public class ParameterAccessor
Read service runtime parameters from current processed record or pipelet configuration.
The accessor can read a parameter either from a record on blackboard (if initialized with a blackboard and a
"current record ID" is set), or from pipelet configuration (if set). The idea is that attributes in a special
location in the records can override settings from the pipelet configuration. The default location for this is a map
in the record attribute "_parameters" (see 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".
| Field Summary | |
|---|---|
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 Summary | |
|---|---|
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. |
|
| Method Summary | |
|---|---|
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. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
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
| Constructor Detail |
|---|
public ParameterAccessor(AnyMap configuration)
configuration - pipelet configurationpublic ParameterAccessor(Blackboard blackboard)
blackboard - blackboard instance.
public ParameterAccessor(Blackboard blackboard,
AnyMap configuration)
blackboard - blackboard instance.configuration - pipelet configuration
public 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.| Method Detail |
|---|
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 name
public java.util.List<java.lang.String> getRequiredParameters(java.lang.String name)
throws MissingParameterException
name - parameter name
MissingParameterException - 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 value
public java.lang.Double getFloatParameter(java.lang.String name,
java.lang.Double defaultValue)
name - parameter namedefaultValue - default value
public java.lang.Boolean getBooleanParameter(java.lang.String name,
java.lang.Boolean defaultValue)
name - parameter namedefaultValue - default value
public java.lang.Integer getRequiredIntParameter(java.lang.String name)
throws MissingParameterException
name - parameter name
MissingParameterException - if no matching parameter value can be found.
public java.lang.Double getRequiredFloatParameter(java.lang.String name)
throws MissingParameterException
name - parameter name
MissingParameterException - if no matching parameter value can be found.
public java.lang.Boolean getRequiredBooleanParameter(java.lang.String name)
throws MissingParameterException
name - parameter name
MissingParameterException - 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
|
SMILA (incubation) API documentation | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||