71 lines
2.1 KiB
Java
71 lines
2.1 KiB
Java
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;
|
|
}
|
|
}
|