101 lines
2.9 KiB
Java
101 lines
2.9 KiB
Java
package net.sf.jasperreports.charts.fill;
|
|
|
|
import net.sf.jasperreports.charts.JRXySeries;
|
|
import net.sf.jasperreports.engine.JRException;
|
|
import net.sf.jasperreports.engine.JRExpression;
|
|
import net.sf.jasperreports.engine.JRHyperlink;
|
|
import net.sf.jasperreports.engine.JRHyperlinkHelper;
|
|
import net.sf.jasperreports.engine.JRPrintHyperlink;
|
|
import net.sf.jasperreports.engine.JRRuntimeException;
|
|
import net.sf.jasperreports.engine.fill.JRCalculator;
|
|
import net.sf.jasperreports.engine.fill.JRExpressionEvalException;
|
|
import net.sf.jasperreports.engine.fill.JRFillExpressionEvaluator;
|
|
import net.sf.jasperreports.engine.fill.JRFillHyperlinkHelper;
|
|
import net.sf.jasperreports.engine.fill.JRFillObjectFactory;
|
|
|
|
public class JRFillXySeries implements JRXySeries {
|
|
protected JRXySeries parent = null;
|
|
|
|
private Comparable series = null;
|
|
|
|
private Number xValue = null;
|
|
|
|
private Number yValue = null;
|
|
|
|
private String label = null;
|
|
|
|
private JRPrintHyperlink itemHyperlink;
|
|
|
|
public JRFillXySeries(JRXySeries xySeries, JRFillObjectFactory factory) {
|
|
factory.put(xySeries, this);
|
|
this.parent = xySeries;
|
|
}
|
|
|
|
public JRExpression getSeriesExpression() {
|
|
return this.parent.getSeriesExpression();
|
|
}
|
|
|
|
public JRExpression getXValueExpression() {
|
|
return this.parent.getXValueExpression();
|
|
}
|
|
|
|
public JRExpression getYValueExpression() {
|
|
return this.parent.getYValueExpression();
|
|
}
|
|
|
|
public JRExpression getLabelExpression() {
|
|
return this.parent.getLabelExpression();
|
|
}
|
|
|
|
protected Comparable getSeries() {
|
|
return this.series;
|
|
}
|
|
|
|
protected Number getXValue() {
|
|
return this.xValue;
|
|
}
|
|
|
|
protected Number getYValue() {
|
|
return this.yValue;
|
|
}
|
|
|
|
protected String getLabel() {
|
|
return this.label;
|
|
}
|
|
|
|
protected JRPrintHyperlink getPrintItemHyperlink() {
|
|
return this.itemHyperlink;
|
|
}
|
|
|
|
protected void evaluate(JRCalculator calculator) throws JRExpressionEvalException {
|
|
this.series = (Comparable)calculator.evaluate(getSeriesExpression());
|
|
this.xValue = (Number)calculator.evaluate(getXValueExpression());
|
|
this.yValue = (Number)calculator.evaluate(getYValueExpression());
|
|
this.label = (String)calculator.evaluate(getLabelExpression());
|
|
if (hasItemHyperlinks())
|
|
evaluateItemHyperlink(calculator);
|
|
}
|
|
|
|
protected void evaluateItemHyperlink(JRCalculator calculator) throws JRExpressionEvalException {
|
|
try {
|
|
this.itemHyperlink = JRFillHyperlinkHelper.evaluateHyperlink(getItemHyperlink(), (JRFillExpressionEvaluator)calculator, (byte)3);
|
|
} catch (JRExpressionEvalException e) {
|
|
throw e;
|
|
} catch (JRException e) {
|
|
throw new JRRuntimeException(e);
|
|
}
|
|
}
|
|
|
|
public JRHyperlink getItemHyperlink() {
|
|
return this.parent.getItemHyperlink();
|
|
}
|
|
|
|
public boolean hasItemHyperlinks() {
|
|
return !JRHyperlinkHelper.isEmpty(getItemHyperlink());
|
|
}
|
|
|
|
public Object clone() {
|
|
return null;
|
|
}
|
|
}
|