public Object getObject(String name) { ConfigurationItemMetadata definition = model.getDefinition(name); if (null == definition) { throw new ConfigurationException(new Message("ITEM_NOT_DEFINED_EXC", BUNDLE, name)); } Configuration holder = this; while (null != holder) { Object obj = getLocal(holder, name); if (null != obj) { return obj; } holder = holder.getParent(); } return definition.getDefaultValue(); }
Object defaultValue = definition.getDefaultValue(); if (defaultValue != null && !defaultValue.getClass().isAssignableFrom(value.getClass())) { QName type = model.getDefinition(name).getType();