Mercurial > dive4elements > framework
annotate artifact-database/src/main/java/org/dive4elements/artifactdatabase/state/DefaultFacet.java @ 524:ab13ab6acc5c facet-metadata
New method to add meta data to a facet.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 02 Jul 2014 12:29:21 +0200 |
parents | 97dc9b8ae68a |
children | 61255b610929 |
rev | line source |
---|---|
475
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
1 package org.dive4elements.artifactdatabase.state; |
226
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
519
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
3 import java.util.HashMap; |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
4 import java.util.List; |
519
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
5 import java.util.Map; |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
6 |
295
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
7 import org.w3c.dom.Document; |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
8 import org.w3c.dom.Element; |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
9 import org.w3c.dom.Node; |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
10 |
475
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
11 import org.dive4elements.artifacts.Artifact; |
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
12 import org.dive4elements.artifacts.ArtifactNamespaceContext; |
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
13 import org.dive4elements.artifacts.CallContext; |
280
7fbe674d758a
Facets got a method that return its required data from the owner artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
277
diff
changeset
|
14 |
475
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
15 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; |
295
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
16 |
226
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 /** |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 * The default implementation of a Facet. |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 * |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 */ |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 public class DefaultFacet implements Facet { |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
25 /** The index of this facet. */ |
277
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
26 protected int index; |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
27 |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
28 /** The name of this facet. */ |
226
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 protected String name; |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 |
488
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
31 /** The out this facet is bound to. */ |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
32 protected String boundToOut; |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
33 |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
34 /** The description of this facet. */ |
226
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 protected String description; |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 |
519
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
37 /** The meta data this facet provides. */ |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
38 protected Map<String, String> metaData; |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
39 |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
40 /** Trivial, empty constructor. */ |
322
93a774fe2bb4
Added deepCopy() method to facets and state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
295
diff
changeset
|
41 public DefaultFacet() { |
519
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
42 this.metaData = new HashMap<String, String>(); |
322
93a774fe2bb4
Added deepCopy() method to facets and state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
295
diff
changeset
|
43 } |
226
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
45 |
226
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 /** |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 * The default constructor to create new Facet objects. |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 * |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 * @param name The name of this new facet. |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 * @param description The description of this new facet. |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 */ |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 public DefaultFacet(String name, String description) { |
277
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
53 this(0, name, description); |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
54 } |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
55 |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
56 |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
57 /** |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
58 * The default constructor to create new Facet objects. |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
59 * |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
60 * @param index The index of this new facet. |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
61 * @param name The name of this new facet. |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
62 * @param description The description of this new facet. |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
63 */ |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
64 public DefaultFacet(int index, String name, String description) { |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
65 this.index = index; |
226
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 this.name = name; |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 this.description = description; |
519
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
68 this.metaData = new HashMap<String, String>(); |
226
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 } |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
71 |
367
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
72 /** Get index. */ |
277
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
73 public int getIndex() { |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
74 return index; |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
75 } |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
76 |
0a579b71496b
Facets have indices now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
77 |
367
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
78 /** Returns the name ('type'). */ |
226
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 public String getName() { |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 return name; |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 } |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 |
367
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
84 /** Returns the description (e.g. displayed in gui). */ |
226
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 public String getDescription() { |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 return description; |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 } |
280
7fbe674d758a
Facets got a method that return its required data from the owner artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
277
diff
changeset
|
88 |
7fbe674d758a
Facets got a method that return its required data from the owner artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
277
diff
changeset
|
89 |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
90 /** |
488
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
91 * Returns the name of the out this facet is bound to. |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
92 * |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
93 * @return the name of the out this facet is bound to. |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
94 */ |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
95 public String getBoundToOut() { |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
96 return boundToOut; |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
97 } |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
98 |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
99 |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
100 /** |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
101 * Binds this facet to an out. |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
102 */ |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
103 public void setBoundToOut(String value) { |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
104 boundToOut = value; |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
105 } |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
106 |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
107 |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
108 /** |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
109 * @return null |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
110 */ |
280
7fbe674d758a
Facets got a method that return its required data from the owner artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
277
diff
changeset
|
111 public Object getData(Artifact artifact, CallContext context) { |
7fbe674d758a
Facets got a method that return its required data from the owner artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
277
diff
changeset
|
112 return null; |
7fbe674d758a
Facets got a method that return its required data from the owner artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
277
diff
changeset
|
113 } |
283
7c33cac15134
Added DefaultFacet.toString() method to help debugging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
280
diff
changeset
|
114 |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
115 |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
116 /** |
519
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
117 * Returns the meta data this facet provides. |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
118 * |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
119 * @param artifact The owner artifact. |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
120 * @param context The CallContext. |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
121 * |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
122 * @return the meta data. |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
123 */ |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
124 @Override |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
125 public Map<String, String> getMetaData( |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
126 Artifact artifact, |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
127 CallContext context) |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
128 { |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
129 return this.metaData; |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
130 } |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
131 |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
132 @Override |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
133 public Map<String, String> getMetaData() { |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
134 return this.metaData; |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
135 } |
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
136 |
524
ab13ab6acc5c
New method to add meta data to a facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
519
diff
changeset
|
137 @Override |
ab13ab6acc5c
New method to add meta data to a facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
519
diff
changeset
|
138 public void addMetaData(String key, String value) { |
ab13ab6acc5c
New method to add meta data to a facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
519
diff
changeset
|
139 this.metaData.put(key, value); |
ab13ab6acc5c
New method to add meta data to a facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
519
diff
changeset
|
140 } |
ab13ab6acc5c
New method to add meta data to a facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
519
diff
changeset
|
141 |
519
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
142 /** |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
143 * (Do not) provide data. |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
144 * Override to allow other facets to access your data. |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
145 * @return always null. |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
146 */ |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
147 public Object provideBlackboardData( |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
148 Artifact artifact, |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
149 Object key, |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
150 Object param, |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
151 CallContext context |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
152 ) { |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
153 return null; |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
154 } |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
155 |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
156 |
378
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
157 /* |
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
158 * Return list of keys (objects) for which this facet can provide data |
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
159 * ("external parameterization"), for other facets, via blackboard. |
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
160 * These are the keys that are independent from the current call (thus |
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
161 * 'static'). |
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
162 * @param artifact that this facet belongs to. |
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
163 */ |
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
164 public List getStaticDataProviderKeys(Artifact artifact) { |
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
165 return null; |
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
166 } |
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
167 |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
168 /** |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
169 * Return list of keys (objects) for which this facet can provide data |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
170 * ("external parameterization"), for other facets, via blackboard. |
357
1d11a0531242
Added artifact parameter to facets getDataProviderKeys.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
351
diff
changeset
|
171 * @param artifact that this facet belongs to. |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
172 */ |
378
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
173 public List getDataProviderKeys(Artifact artifact, CallContext context) { |
71ff234713a6
Pass context when asking facets for keys to write on blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
367
diff
changeset
|
174 return getStaticDataProviderKeys(artifact); |
351
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
175 } |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
176 |
eb1136134d09
Prepare inter-facet pre-rendering communication ('blackboard') phase.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
322
diff
changeset
|
177 |
367
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
178 /** Create a xml represantation. */ |
295
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
179 public Node toXML(Document doc) { |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
180 ElementCreator ec = new ElementCreator( |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
181 doc, |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
182 ArtifactNamespaceContext.NAMESPACE_URI, |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
183 ArtifactNamespaceContext.NAMESPACE_PREFIX); |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
184 |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
185 Element facet = ec.create("facet"); |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
186 ec.addAttr(facet, "description", description, true); |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
187 ec.addAttr(facet, "name", name, true); |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
188 ec.addAttr(facet, "index", String.valueOf(index), true); |
488
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
189 ec.addAttr(facet, "boundToOut", boundToOut, true); |
295
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
190 |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
191 return facet; |
e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
283
diff
changeset
|
192 } |
367
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
193 |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
194 |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
195 /** Create a string representation. */ |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
196 public String toString() { |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
197 return new StringBuilder("name = '") |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
198 .append(name).append("', index = ") |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
199 .append(index).append(", description = '") |
488
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
200 .append(description).append("', bound_out = '") |
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
201 .append(boundToOut).append("'") |
367
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
202 .toString(); |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
203 } |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
204 |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
205 |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
206 /** |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
207 * Copies name, index and description of other facet. |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
208 */ |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
209 public void set(Facet other) { |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
210 index = other.getIndex(); |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
211 name = other.getName(); |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
212 description = other.getDescription(); |
488
83ee2c6a53b6
Add boundToOut property to facet and default facet
Andre Heinecke <aheinecke@intevation.de>
parents:
475
diff
changeset
|
213 boundToOut = other.getBoundToOut(); |
519
97dc9b8ae68a
Introduced facet metadata.
Raimund Renkert <rrenkert@intevation.de>
parents:
488
diff
changeset
|
214 metaData = other.getMetaData(); |
367
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
215 } |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
216 |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
217 |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
218 /** Create a deep copy of this facet. */ |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
219 public Facet deepCopy() { |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
220 DefaultFacet copy = new DefaultFacet(); |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
221 copy.set(this); |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
222 return copy; |
6431b7efe240
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
357
diff
changeset
|
223 } |
226
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
224 } |
41404961c804
Added support for facets - facets of output modes are read from configuration now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
225 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |