comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java @ 2024:2bb160b2768e

New facet, will ease converting other facets to be able to contribute to area computations. flys-artifacts/trunk@3481 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 20 Dec 2011 09:00:51 +0000
parents
children bb0dede9294f
comparison
equal deleted inserted replaced
2023:7a7c5cad4fe1 2024:2bb160b2768e
1 package de.intevation.flys.artifacts.model;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import de.intevation.artifacts.Artifact;
7 import de.intevation.artifacts.CallContext;
8
9 import de.intevation.artifactdatabase.state.DefaultFacet;
10
11
12 /**
13 * Facet that writes artifact-uui and facet index on the blackboard,
14 * delivers data if asked so.
15 */
16 public class BlackboardDataFacet extends DefaultFacet {
17
18 public BlackboardDataFacet() {}
19
20 /** Do not instantiate a BlackboardDataFacet, subclass it instead. */
21 public BlackboardDataFacet(int idx, String name, String description) {
22 super(idx, name, description);
23 }
24
25
26 /** Hey, We can ArtifactUUID+FacetIndex (i.e. getData)! */
27 public List getDataProviderKeys(Artifact art) {
28 List list = new ArrayList();
29 list.add(art.identifier() + getIndex());
30 return list;
31 }
32
33
34 /**
35 * Can provide whatever getData returns.
36 * @param key will respond on uuid+index
37 * @param param ignored
38 * @param context ignored
39 * @return whatever getData delivers.
40 */
41 public Object provideBlackboardData(Artifact artifact,
42 Object key,
43 Object param,
44 CallContext context
45 ) {
46 if (key.equals(artifact.identifier() + getIndex())) {
47 return getData(artifact, context);
48 }
49 else {
50 return null;
51 }
52 }
53
54 }
55 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org