annotate artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultAttribute.java @ 405:e1738650bfca

FacetActivity: use Chain-of-responsibility pattern to figure out if facet should be active. artifacts/trunk@5154 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 29 Jul 2012 11:38:40 +0000
parents c065a1a90ba0
children
rev   line source
360
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.artifactdatabase.state;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import org.w3c.dom.Document;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 import org.w3c.dom.Element;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import org.w3c.dom.Node;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 /**
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 */
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 public class DefaultAttribute implements Attribute {
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 protected String name;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 protected Object value;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 public DefaultAttribute(String name, Object value) {
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 this.name = name;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 this.value = value;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 }
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 @Override
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 public String getName() {
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 return name;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 }
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 @Override
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 public Object getValue() {
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 return value;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 }
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 @Override
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 public void setValue(Object value) {
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 this.value = value;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 }
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 @Override
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 public Node toXML(Node parent) {
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 Document owner = parent.getOwnerDocument();
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 Element attr = owner.createElement(getName());
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 parent.appendChild(attr);
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 attr.setTextContent(String.valueOf(getValue()));
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 return attr;
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 }
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 }
c065a1a90ba0 Modified the Attribute interface and added a default implementation of Attribute.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org