# HG changeset patch # User Ingo Weinzierl # Date 1323871408 0 # Node ID c065a1a90ba0bba81150e4973dead83d9d3ecebc # Parent f93edbfcf2bcdd367e2e7fb72cf5904c36ae2ab7 Modified the Attribute interface and added a default implementation of Attribute. artifacts/trunk@3417 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r f93edbfcf2bc -r c065a1a90ba0 ChangeLog --- a/ChangeLog Wed Dec 14 12:20:06 2011 +0000 +++ b/ChangeLog Wed Dec 14 14:03:28 2011 +0000 @@ -1,3 +1,12 @@ +2011-12-14 Ingo Weinzierl + + * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Attribute.java: + Added a setValue(Object) method and modified the signature of toXML() + which now returns a Node. + + * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultAttribute.java: + New. A default implementation of Attribute. + 2011-12-14 Ingo Weinzierl * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Settings.java: diff -r f93edbfcf2bc -r c065a1a90ba0 artifact-database/src/main/java/de/intevation/artifactdatabase/state/Attribute.java --- a/artifact-database/src/main/java/de/intevation/artifactdatabase/state/Attribute.java Wed Dec 14 12:20:06 2011 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/state/Attribute.java Wed Dec 14 14:03:28 2011 +0000 @@ -25,10 +25,19 @@ Object getValue(); /** + * Sets the value of this Attribute. + * + * @param value The new value. + */ + void setValue(Object value); + + /** * Transforms this Attribute into XML. * * @param parent The parent node. + * + * @return the Node that represents this Attribute. */ - void toXML(Node parent); + Node toXML(Node parent); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : diff -r f93edbfcf2bc -r c065a1a90ba0 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultAttribute.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultAttribute.java Wed Dec 14 14:03:28 2011 +0000 @@ -0,0 +1,54 @@ +package de.intevation.artifactdatabase.state; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + + +/** + * @author Ingo Weinzierl + */ +public class DefaultAttribute implements Attribute { + + protected String name; + + protected Object value; + + + public DefaultAttribute(String name, Object value) { + this.name = name; + this.value = value; + } + + + @Override + public String getName() { + return name; + } + + + @Override + public Object getValue() { + return value; + } + + + @Override + public void setValue(Object value) { + this.value = value; + } + + + @Override + public Node toXML(Node parent) { + Document owner = parent.getOwnerDocument(); + Element attr = owner.createElement(getName()); + + parent.appendChild(attr); + + attr.setTextContent(String.valueOf(getValue())); + + return attr; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :