@Override public Object getAttributeValueFromObject(Object entity) throws DescriptorException { Map<String, PropertyWrapper> propertiesMap = ((XRDynamicEntity) entity).getPropertiesMap(); PropertyWrapper wrapper = propertiesMap.get(attributeName); Object v = null; if (wrapper.isSet()) { v = ((ValueHolderInterface) wrapper.getValue()).getValue(); } return v; }
public void setAttributeValueInObject(Object entity, Object value) throws DescriptorException { Map<String, PropertyWrapper> propertiesMap = ((XRDynamicEntity) entity).getPropertiesMap(); PropertyWrapper wrapper = propertiesMap.get(attributeName); if (value instanceof ValueHolderInterface) { // ValueHolders go directly into the PropertyWrapper wrapper.setValue(value); } else { if (!wrapper.isSet()) { wrapper.setValue(new ValueHolder(value)); } else { ((ValueHolderInterface) wrapper.getValue()).setValue(value); } } }