/** Invoked whenever a configured property within this widget factory is changed. */ public void onConfigurationChanged() { final Collection<PropertyWidget<?>> widgets = getWidgets(); for (PropertyWidget<?> widget : widgets) { @SuppressWarnings("unchecked") final PropertyWidget<Object> objectWidget = (PropertyWidget<Object>) widget; final ConfiguredPropertyDescriptor propertyDescriptor = objectWidget.getPropertyDescriptor(); final Object value = _beanJobBuilder.getConfiguredProperty(propertyDescriptor); objectWidget.onValueTouched(value); } }
/** * Registers a widget in this factory in rare cases when the factory is not used to actually * instantiate the widget, but it is still needed to register the widget for compliancy with eg. * the onConfigurationChanged() behaviour. * * @param propertyDescriptor * @param widget */ public void registerWidget( ConfiguredPropertyDescriptor propertyDescriptor, PropertyWidget<?> widget) { if (widget == null) { _widgets.remove(propertyDescriptor); } else { _widgets.put(propertyDescriptor, widget); @SuppressWarnings("unchecked") PropertyWidget<Object> objectWidget = (PropertyWidget<Object>) widget; Object value = _beanJobBuilder.getConfiguredProperty(objectWidget.getPropertyDescriptor()); objectWidget.initialize(value); } }