package com.firefly.core.support.xml.parse;
import org.w3c.dom.Element;
import static com.firefly.core.support.xml.parse.XmlNodeConstants.*;
import com.firefly.core.support.xml.ManagedValue;
import com.firefly.utils.dom.Dom;
public class ValueNodeParser extends AbstractXmlNodeParser implements XmlNodeParser {
@Override
public Object parse(Element ele, Dom dom) {
ManagedValue typedValue = new ManagedValue();
String value = dom.getTextValue(ele);
String typeName = null;
if (ele.hasAttribute(TYPE_ATTRIBUTE)) {
typeName = ele.getAttribute(TYPE_ATTRIBUTE);
if (typeName == null) {
error("<value> element contains empty target attribute");
return null;
}
}
typedValue.setValue(value);
typedValue.setTypeName(typeName);
return typedValue;
}
}