diff artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java @ 351:eb1136134d09

Prepare inter-facet pre-rendering communication ('blackboard') phase. artifacts/trunk@3329 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 30 Nov 2011 08:13:48 +0000
parents 93a774fe2bb4
children 1d11a0531242
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java	Wed Nov 23 17:17:39 2011 +0000
+++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java	Wed Nov 30 08:13:48 2011 +0000
@@ -1,5 +1,7 @@
 package de.intevation.artifactdatabase.state;
 
+import java.util.List;
+
 import java.io.Serializable;
 
 import org.w3c.dom.Document;
@@ -49,6 +51,32 @@
 
 
     /**
+     * Get keys for which this Facet can provide data (for other facets, not
+     * for plot).
+     *
+     * @return list of keys
+     */
+    List getDataProviderKeys();
+
+
+    /**
+     * Provide data to other facet.
+     *
+     * @param art  The artifact that this facet belongs to.
+     * @param key  the key of the requested service.
+     * @param prm  optional parameters.
+     * @param ctxt the callcontext.
+     *
+     * @return the data
+     */
+    Object provideBlackboardData(
+        Artifact art,
+        Object key,
+        Object prm,
+        CallContext ctxt);
+
+
+    /**
      * Write the internal representation of a facet to a node.
      *
      * @param doc A Document.

http://dive4elements.wald.intevation.org