org.pentaho.platform.util.beans
Interface ValueSetErrorCallback

All Known Implementing Classes:
ActionHarness.DefaultActionCallback, ActionHarness.VarArgsWrapperCallback, BeanUtil.EagerFailingCallback

public interface ValueSetErrorCallback

This interface is used in conjunction with BeanUtil#setValue(Object, String, ValueSetCallback, PropertyNameFormatter...) to give the developer full control of how to handle various events that occur during the attempt to set a value on a Java Bean. Using a callback allows us to always employ the same logic when syncing data to a bean (since that are loads of different ways to do this just in commons-beanutils).

Author:
aphillips
See Also:
BeanUtil#setValue(Object, String, ValueSetCallback, PropertyNameFormatter...)

Method Summary
 void failedToSetValue(Object bean, String propertyName, Object value, String beanPropertyType, Throwable cause)
          Fired when the bean utility failed to set a value on your bean.
 void propertyNotWritable(Object bean, String propertyName)
          Fired if, prior to the value being set, the write-check on the property fails.
 

Method Detail

failedToSetValue

void failedToSetValue(Object bean,
                      String propertyName,
                      Object value,
                      String beanPropertyType,
                      Throwable cause)
                      throws Exception
Fired when the bean utility failed to set a value on your bean.

Parameters:
bean - the bean on which the value set operation was attempted
propertyName - the name of the property that failed to set on the bean
value - the value that the bean utility attempted to set on the bean
beanPropertyType - the type of the bean property on which we tried to set the value. This may not be the same type as that of the value.
cause - the reason for the failure
Throws:
ActionExecutionException - throw this exception if you consider this a terminal condition
Exception

propertyNotWritable

void propertyNotWritable(Object bean,
                         String propertyName)
                         throws Exception
Fired if, prior to the value being set, the write-check on the property fails.

Parameters:
bean - the bean on which write test was performed
propertyName - the name of the property that is not writable on the bean
Throws:
Exception - throw an exception if you consider this to be a terminal condition