* Then try all providers in turn until one is found that accepts the change.
*/
public boolean setObject(String name, Object value) {
ConfigurationItemMetadata definition = model.getDefinition(name);
if (null == definition) {
throw new ConfigurationException(new Message("ITEM_NOT_DEFINED_EXC", BUNDLE, name));
}
// use model to validate value
Object defaultValue = definition.getDefaultValue();
if (defaultValue != null && !defaultValue.getClass().isAssignableFrom(value.getClass())) {
QName type = model.getDefinition(name).getType();
throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type));
}
// TODO: check if property can be modified at all:
// if it is static, report an error, if it is process or bus accept the change but log a
// warning informing the user that the change will take effect only after next bus