Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/themes/DefaultThemeField.java @ 4890:bf38ea4cb0f7
Added bodies to macros. Use the bodies of <dc:call-macro><body></dc:call-macro> as <dc:macro-body/> in tthe macro. Example:
<dc:macro name="greet"><hello><dc:macro-body/></hello></dc:macro>
<dc:call-macro name="greet"><planet>Earth</planet></dc:call-macro>
Result:
<hello><panet>Earth</planet></hello>
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Mon, 28 Jan 2013 18:55:55 +0100 |
parents | e32b822f3cfa |
children |
line wrap: on
line source
package de.intevation.flys.themes; import java.util.HashMap; import java.util.Map; import org.w3c.dom.Document; import org.w3c.dom.Element; import de.intevation.artifacts.common.utils.XMLUtils; import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class DefaultThemeField implements ThemeField { protected String name; protected Map<String, Object> attr; public DefaultThemeField(String name) { this.name = name; this.attr = new HashMap<String, Object>(); } public String getName() { return name; } public String getType() { return (String) getAttribute("type"); } public Object getValue() { return getAttribute("value"); } public void setValue(Object value) { setAttribute("value", value); } public Object getAttribute(String name) { return attr.get(name); } public void setAttribute(String name, Object value) { if (name == null || value == null) { return; } attr.put(name, value); } public Document toXML() { Document doc = XMLUtils.newDocument(); ElementCreator cr = new ElementCreator(doc, null, null); Element field = cr.create("field"); for (Map.Entry<String, Object> entry: attr.entrySet()) { cr.addAttr(field, entry.getKey(), (String)entry.getValue()); } doc.appendChild(field); return doc; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :