Mercurial > dive4elements > river
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 :