/** * {@inheritDoc} */ @Override public void setValue(Object target, Object value) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { Object oldValue = getValue(target); Object actualNewValue = value; // target instance must be tested to avoid triggering twice the property // processors if the map contains a non-map model. if (target instanceof Map<?, ?> && getModelDescriptor() != null) { actualNewValue = getModelDescriptor().interceptSetter(target, value); getModelDescriptor().preprocessSetter(target, actualNewValue); } super.setValue(target, actualNewValue); // target instance must be tested to avoid triggering twice the property // processors if the map contains a non-map model. if (target instanceof Map<?, ?> && getModelDescriptor() != null) { getModelDescriptor().postprocessSetter(target, oldValue, actualNewValue); } }
switch (accessorInfo.getAccessorType()) { case SETTER: propertyDescriptor.postprocessSetter(proxy, computedPropertyValue, newComputedPropertyValue); break; case ADDER:
propertyDescriptor.postprocessSetter(proxy, oldProperty, actualNewProperty);