package net.sf.jasperreports.charts.design; import java.util.ArrayList; import java.util.List; import net.sf.jasperreports.charts.JRXyDataset; import net.sf.jasperreports.charts.JRXySeries; import net.sf.jasperreports.engine.JRChartDataset; import net.sf.jasperreports.engine.JRExpressionCollector; import net.sf.jasperreports.engine.design.JRDesignChartDataset; import net.sf.jasperreports.engine.design.JRVerifier; public class JRDesignXyDataset extends JRDesignChartDataset implements JRXyDataset { private static final long serialVersionUID = 10200L; public static final String PROPERTY_XY_SERIES = "xySeries"; private List xySeriesList = new ArrayList(); public JRDesignXyDataset(JRChartDataset dataset) { super(dataset); } public JRXySeries[] getSeries() { JRXySeries[] xySeriesArray = new JRXySeries[this.xySeriesList.size()]; this.xySeriesList.toArray((Object[])xySeriesArray); return xySeriesArray; } public List getSeriesList() { return this.xySeriesList; } public void addXySeries(JRXySeries xySeries) { this.xySeriesList.add(xySeries); getEventSupport().fireCollectionElementAddedEvent("xySeries", xySeries, this.xySeriesList.size() - 1); } public JRXySeries removeXySeries(JRXySeries xySeries) { if (xySeries != null) { int idx = this.xySeriesList.indexOf(xySeries); if (idx >= 0) { this.xySeriesList.remove(idx); getEventSupport().fireCollectionElementRemovedEvent("xySeries", xySeries, idx); } } return xySeries; } public byte getDatasetType() { return 3; } public void collectExpressions(JRExpressionCollector collector) { collector.collect(this); } public void validate(JRVerifier verifier) { verifier.verify(this); } public Object clone() { JRDesignXyDataset clone = (JRDesignXyDataset)super.clone(); if (this.xySeriesList != null) { clone.xySeriesList = new ArrayList(this.xySeriesList.size()); for (int i = 0; i < this.xySeriesList.size(); i++) clone.xySeriesList.add(((JRXySeries)this.xySeriesList.get(i)).clone()); } return clone; } }