Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java @ 5442:9575264f801d
Only create one FunctionResolver per BuildHelper. Creatin new ones over and over again is excessive.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Tue, 26 Mar 2013 21:55:23 +0100 |
parents | 18c66e586e44 |
children |
line wrap: on
line source
package de.intevation.flys.jfree; import de.intevation.flys.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 :