Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/process/Processor.java @ 4443:af728a5e0329
Introduce a new Interface to abstract the data to curve generation
A Processor class should be used to generate curves from a specific data input
(e.g. WQKm).
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Wed, 07 Nov 2012 14:07:52 +0100 |
parents | |
children | b195fede1c3b |
rev | line source |
---|---|
4443
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.exports.process; |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
2 |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
3 import org.w3c.dom.Document; |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
4 |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
5 import de.intevation.artifactdatabase.state.ArtifactAndFacet; |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
6 import de.intevation.flys.exports.XYChartGenerator; |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
7 |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
8 /** |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
9 * A processor is intended to generate an output e.g. curve in a chart diagramm from |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
10 * arbitrary data input which can be reused in several generators. |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
11 * |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
12 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 */ |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
14 public interface Processor { |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
15 |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
16 /** |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
17 * Processes data to generate e.g. a chart. |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
18 * |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
19 * @param generator XYChartGenerator to add output on. |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
20 * @param aandf The artifact and facet |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
21 * @param theme The theme that contains styling information. |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 * @param visible The visibility of the curve. |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
23 * @param index The index of the curve |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
24 */ |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
25 public void doOut( |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
26 XYChartGenerator generator, |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
27 ArtifactAndFacet aandf, |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
28 Document theme, |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
29 boolean visible, |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
30 int index); |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
31 |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
32 /** |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
33 * Returns true if the Processor class is able to generate output for a facet type |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
34 * |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 * @param facettype Name of the facet type |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
36 * @return true if the facettype can be processed |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
37 */ |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
38 public boolean canHandle(String facettype); |
af728a5e0329
Introduce a new Interface to abstract the data to curve generation
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
39 } |