58 lines
1.8 KiB
Java
58 lines
1.8 KiB
Java
package net.sf.jasperreports.charts.base;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import net.sf.jasperreports.charts.JRChartAxis;
|
|
import net.sf.jasperreports.charts.JRMultiAxisPlot;
|
|
import net.sf.jasperreports.engine.JRChart;
|
|
import net.sf.jasperreports.engine.JRChartPlot;
|
|
import net.sf.jasperreports.engine.JRExpressionCollector;
|
|
import net.sf.jasperreports.engine.base.JRBaseChartPlot;
|
|
import net.sf.jasperreports.engine.base.JRBaseObjectFactory;
|
|
|
|
public class JRBaseMultiAxisPlot extends JRBaseChartPlot implements JRMultiAxisPlot {
|
|
private static final long serialVersionUID = 10200L;
|
|
|
|
protected List axes = new ArrayList();
|
|
|
|
public JRBaseMultiAxisPlot(JRChartPlot multiAxisPlot, JRChart chart) {
|
|
super(multiAxisPlot, chart);
|
|
}
|
|
|
|
public JRBaseMultiAxisPlot(JRMultiAxisPlot multiAxisPlot, JRBaseObjectFactory factory) {
|
|
super((JRChartPlot)multiAxisPlot, factory);
|
|
List origAxes = multiAxisPlot.getAxes();
|
|
this.axes.clear();
|
|
if (origAxes != null) {
|
|
Iterator iter = origAxes.iterator();
|
|
while (iter.hasNext()) {
|
|
JRChartAxis axis = iter.next();
|
|
this.axes.add(factory.getChartAxis(axis));
|
|
}
|
|
}
|
|
}
|
|
|
|
public List getAxes() {
|
|
return this.axes;
|
|
}
|
|
|
|
public void collectExpressions(JRExpressionCollector collector) {
|
|
Iterator iter = this.axes.iterator();
|
|
while (iter.hasNext()) {
|
|
JRChartAxis axis = iter.next();
|
|
collector.collect(axis.getChart());
|
|
}
|
|
}
|
|
|
|
public Object clone(JRChart parentChart) {
|
|
JRBaseMultiAxisPlot clone = (JRBaseMultiAxisPlot)super.clone(parentChart);
|
|
if (this.axes != null) {
|
|
clone.axes = new ArrayList(this.axes.size());
|
|
for (int i = 0; i < this.axes.size(); i++)
|
|
clone.axes.add(((JRChartAxis)this.axes.get(i)).clone(parentChart));
|
|
}
|
|
return clone;
|
|
}
|
|
}
|