org.pentaho.platform.util.beans
Class ActionHarness
java.lang.Object
org.pentaho.platform.util.beans.BeanUtil
org.pentaho.platform.util.beans.ActionHarness
public class ActionHarness
- extends BeanUtil
A utility for consistent interaction with IAction
s. Based
on BeanUtil
, but with logic specific to IAction
beans.
One such behavior is the setting of pass-through properties to an IVarArgsAction
.
Note that all the setValue and setValues methods will properly handle
IVarArgsAction
s if the bean is of this type.
- Author:
- aphillips
ActionHarness
public ActionHarness(IAction actionBean)
setValue
public void setValue(String propertyName,
Object value,
ValueSetErrorCallback callback,
PropertyNameFormatter... formatters)
throws Exception
- Performs same function as the super, with the added feature of granting
undeclared properties to the action bean if it is a
IVarArgsAction
.
Set a bean property with a given value, allowing the caller to respond to various error states
that may be encountered during the attempt to set the value on the bean. This method also allows
the caller to specify formatters that will modify the property name to match what the bean
expects as the true name of the property. This can be helpful when you are trying to map
parameters from a source that follows a convention that is not Java Bean spec compliant.
- Overrides:
setValue
in class BeanUtil
- Parameters:
propertyName
- the bean property to setvalue
- the value to set on the bean. If value is an instance of BeanUtil.FeedbackValueGenerator
,
then the value will be derived by calling BeanUtil.getValue(String)
. Note: if value
is null
, we consciously bypass the set operation altogether since it leads to
indeterminate behavior, i.e. it may fail or succeed.callback
- a structure that alerts the caller of any error states and enables the caller
to fail, log, proceed, etcformatters
- a list of objects that can be used to modify the given property name
prior to performing any operations on the bean itself. This new formatted property name will
be used to identify the bean property.
bean lookup and value setting
- Throws:
Exception
- when something goes wrong (controlled by the callback object)- See Also:
BeanUtil.FeedbackValueGenerator
,
ValueSetErrorCallback
,
PropertyNameFormatter