diff flys-artifacts/src/main/java/org/dive4elements/river/jfree/FLYSAnnotation.java @ 5831:bd047b71ab37

Repaired internal references
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:06:39 +0200
parents flys-artifacts/src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java@18c66e586e44
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-artifacts/src/main/java/org/dive4elements/river/jfree/FLYSAnnotation.java	Thu Apr 25 12:06:39 2013 +0200
@@ -0,0 +1,107 @@
+package org.dive4elements.river.jfree;
+
+import org.dive4elements.river.artifacts.model.HYKFactory;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.jfree.chart.annotations.XYTextAnnotation;
+import org.w3c.dom.Document;
+
+/**
+ * List of Text- Annotations (Sticky to one axis or in space)
+ * and 'HYK'-Annotations (rectangles/areas) with name and theme.
+ */
+public class FLYSAnnotation {
+
+    /** 'Other' Text Annotations. */
+    protected List<XYTextAnnotation> textAnnotations;
+
+    /** Annotations at axis. */
+    protected List<StickyAxisAnnotation> axisTextAnnotations;
+
+    /** Areas at axis. */
+    protected List<HYKFactory.Zone> boxes;
+
+    /** Styling information. */
+    protected Document theme;
+
+    /** Chart-legend information. */
+    protected String label;
+
+
+    public FLYSAnnotation(String label, List<StickyAxisAnnotation> annotations) {
+        this(label, annotations, null, null);
+    }
+
+
+    /** Create annotations, parameter might be null. */
+    public FLYSAnnotation(String label, List<StickyAxisAnnotation> annotations,
+        List<HYKFactory.Zone> bAnnotations
+    ) {
+        this(label, annotations, bAnnotations, null);
+    }
+
+
+    /** Create annotations, parameter might be null. */
+    public FLYSAnnotation(String label, List<StickyAxisAnnotation> annotations,
+        List<HYKFactory.Zone> bAnnotations, Document theme
+    ) {
+        this.label = label;
+        this.axisTextAnnotations = (annotations != null)
+                                   ? annotations
+                                   : Collections.<StickyAxisAnnotation>emptyList();
+        this.boxes = (bAnnotations != null)
+                     ? bAnnotations
+                     : Collections.<HYKFactory.Zone>emptyList();
+        this.textAnnotations = Collections.<XYTextAnnotation>emptyList();
+        this.setTheme(theme);
+    }
+
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public List<StickyAxisAnnotation> getAxisTextAnnotations() {
+        return axisTextAnnotations;
+    }
+
+    public void setTextAnnotations(List<XYTextAnnotation> annotations) {
+        this.textAnnotations = annotations;
+    }
+
+    /** Set the "other" Text Annotations. */
+    public List<XYTextAnnotation> getTextAnnotations() {
+        return textAnnotations;
+    }
+
+    public List<HYKFactory.Zone> getBoxes() {
+        return boxes;
+    }
+
+    public void setTheme(Document theme) {
+        this.theme = theme;
+    }
+
+    public Document getTheme() {
+        return theme;
+    }
+
+    /**
+     * Set sticky axis of all axisTextAnnotations
+     * to the X axis if it is currently Y, and vice versa.
+     * @return this
+     */
+    public FLYSAnnotation flipStickyAxis() {
+        for (StickyAxisAnnotation saa: axisTextAnnotations) {
+            saa.flipStickyAxis();
+        }
+        return this;
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org