package net.sf.jasperreports.charts.design; import java.util.ArrayList; import java.util.List; import net.sf.jasperreports.charts.JRXySeries; import net.sf.jasperreports.charts.JRXyzDataset; import net.sf.jasperreports.charts.JRXyzSeries; 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 JRDesignXyzDataset extends JRDesignChartDataset implements JRXyzDataset { private static final long serialVersionUID = 10200L; public static final String PROPERTY_XYZ_SERIES = "xyzSeries"; private List xyzSeriesList = new ArrayList(); public JRDesignXyzDataset(JRChartDataset dataset) { super(dataset); } public JRXyzSeries[] getSeries() { JRXyzSeries[] xyzSeriesArray = new JRXyzSeries[this.xyzSeriesList.size()]; this.xyzSeriesList.toArray((Object[])xyzSeriesArray); return xyzSeriesArray; } public List getSeriesList() { return this.xyzSeriesList; } public void addXyzSeries(JRXyzSeries xyzSeries) { this.xyzSeriesList.add(xyzSeries); getEventSupport().fireCollectionElementAddedEvent("xyzSeries", xyzSeries, this.xyzSeriesList.size() - 1); } public JRXyzSeries removeXyzSeries(JRXyzSeries xyzSeries) { if (xyzSeries != null) { int idx = this.xyzSeriesList.indexOf(xyzSeries); if (idx >= 0) { this.xyzSeriesList.remove(idx); getEventSupport().fireCollectionElementRemovedEvent("xyzSeries", xyzSeries, idx); } } return xyzSeries; } public byte getDatasetType() { return 4; } public void collectExpressions(JRExpressionCollector collector) { collector.collect(this); } public void validate(JRVerifier verifier) { verifier.verify(this); } public Object clone() { JRDesignXyzDataset clone = (JRDesignXyzDataset)super.clone(); if (this.xyzSeriesList != null) { clone.xyzSeriesList = new ArrayList(this.xyzSeriesList.size()); for (int i = 0; i < this.xyzSeriesList.size(); i++) clone.xyzSeriesList.add(((JRXySeries)this.xyzSeriesList.get(i)).clone()); } return clone; } }