view flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledXYSeries.java @ 4478:6153c50f78cf

WaterLineArtifact: Added callcontext-parameter to interfaces getWaterLine. Update all implementations. The change was done to be able to compute the extreme values during getWaterLine to access data needed in CrossSectionProfile Diagrams.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 13 Nov 2012 14:46:44 +0100
parents 0f7abd95c6e2
children
line wrap: on
line source
package de.intevation.flys.jfree;

import java.util.List;

import org.apache.log4j.Logger;

import org.w3c.dom.Document;

import org.jfree.data.xy.XYDataItem;
import org.jfree.data.xy.XYSeries;

/**
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public class StyledXYSeries extends XYSeries implements StyledSeries, HasLabel {

    private static final Logger logger = Logger.getLogger(StyledXYSeries.class);

    protected Style style;

    /** If this Series is to be labelled, use this String as label. */
    protected String label;


    public StyledXYSeries(String key, Document theme) {
        this(key, true, theme);
        this.label = key.toString();
    }


    public StyledXYSeries(String key, Document theme, XYSeries unstyledSeries) {
        this(key, theme);
        add(unstyledSeries);
    }


    /**
     * @param sorted whether or not to sort the points. Sorting will move NANs
     *               to one extrema which can cause problems in certain
     *               algorithms.
     */
    public StyledXYSeries(String key, boolean sorted, Document theme) {
        super(key, sorted);
        setStyle(new XYStyle(theme));
        this.label = key.toString();
    }


    @Override
    public void setStyle(Style style) {
        this.style = style;
    }


    @Override
    public Style getStyle() {
        return style;
    }


    @Override
    public String getLabel() {
        return label;
    }

    @Override
    public void setLabel(String label) {
        this.label = label;
    }

    protected void add(XYSeries series) {
        List<XYDataItem> items = series.getItems();
        add(items);
    }

    protected void add(List<XYDataItem> items) {
        for(XYDataItem item : items) {
            add(item.getXValue(), item.getYValue());
        }
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org