package com.revolsys.ui.html.serializer; import javax.xml.namespace.QName; import com.revolsys.record.io.format.xml.XmlWriter; import com.revolsys.ui.html.serializer.key.AbstractKeySerializer; import com.revolsys.util.Property; public class ElementKeySerializer extends AbstractKeySerializer { private final QName element; public ElementKeySerializer(final QName element, final String name) { this(element, name, null); } public ElementKeySerializer(final QName element, final String name, final String label) { super(name); this.element = element; if (label != null) { setLabel(label); } } /** * Serialize the value to the XML writer. * * @param out The XML writer to serialize to. * @param object The object to get the value from. */ @Override public void serialize(final XmlWriter out, final Object object) { out.startTag(this.element); final Object value = Property.get(object, getName()); if (value == null) { out.text("-"); } else { out.text(value); } out.endTag(this.element); } }