in core/src/main/java/com/alibaba/smart/framework/engine/smart/Properties.java [31:58]
public void decorate(ExtensionElements extensionElements, ParseContext context) {
Map map = (Map)extensionElements.getDecorationMap().get(getDecoratorType());
if(null == map){
map = MapUtil.newHashMap();
extensionElements.getDecorationMap().put(this.getDecoratorType(),map);
}
for (PropertiesElementMarker extensionDecorator : extensionList) {
if(extensionDecorator instanceof Value){
Value value = (Value)extensionDecorator;
map.put(value.getName(),value.getValue());
}else if (extensionDecorator instanceof Property){
Property property = (Property)extensionDecorator;
PropertyCompositeKey key = new PropertyCompositeKey(property.getType(), property.getName());
PropertyCompositeValue value = new PropertyCompositeValue(property.getValue(), property.getAttrs());
map.put(key, value);
}
}
}