113 lines
3.2 KiB
Java
113 lines
3.2 KiB
Java
package net.sf.jasperreports.charts.fill;
|
|
|
|
import java.util.Date;
|
|
import net.sf.jasperreports.charts.JRTimePeriodSeries;
|
|
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 JRFillTimePeriodSeries implements JRTimePeriodSeries {
|
|
protected JRTimePeriodSeries parent = null;
|
|
|
|
private Comparable series = null;
|
|
|
|
private Date startDate = null;
|
|
|
|
private Date endDate = null;
|
|
|
|
private Number value = null;
|
|
|
|
private String label = null;
|
|
|
|
private JRPrintHyperlink itemHyperlink;
|
|
|
|
public JRFillTimePeriodSeries(JRTimePeriodSeries timePeriodSeries, JRFillObjectFactory factory) {
|
|
factory.put(timePeriodSeries, this);
|
|
this.parent = timePeriodSeries;
|
|
}
|
|
|
|
public JRExpression getSeriesExpression() {
|
|
return this.parent.getSeriesExpression();
|
|
}
|
|
|
|
public JRExpression getStartDateExpression() {
|
|
return this.parent.getStartDateExpression();
|
|
}
|
|
|
|
public JRExpression getEndDateExpression() {
|
|
return this.parent.getEndDateExpression();
|
|
}
|
|
|
|
public JRExpression getValueExpression() {
|
|
return this.parent.getValueExpression();
|
|
}
|
|
|
|
public JRExpression getLabelExpression() {
|
|
return this.parent.getLabelExpression();
|
|
}
|
|
|
|
protected Comparable getSeries() {
|
|
return this.series;
|
|
}
|
|
|
|
protected Date getStartDate() {
|
|
return this.startDate;
|
|
}
|
|
|
|
protected Date getEndDate() {
|
|
return this.endDate;
|
|
}
|
|
|
|
protected Number getValue() {
|
|
return this.value;
|
|
}
|
|
|
|
protected String getLabel() {
|
|
return this.label;
|
|
}
|
|
|
|
protected void evaluate(JRCalculator calculator) throws JRExpressionEvalException {
|
|
this.series = (Comparable)calculator.evaluate(getSeriesExpression());
|
|
this.startDate = (Date)calculator.evaluate(getStartDateExpression());
|
|
this.endDate = (Date)calculator.evaluate(getEndDateExpression());
|
|
this.value = (Number)calculator.evaluate(getValueExpression());
|
|
this.label = (String)calculator.evaluate(getLabelExpression());
|
|
if (hasItemHyperlink())
|
|
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 hasItemHyperlink() {
|
|
return !JRHyperlinkHelper.isEmpty(getItemHyperlink());
|
|
}
|
|
|
|
public JRPrintHyperlink getPrintItemHyperlink() {
|
|
return this.itemHyperlink;
|
|
}
|
|
|
|
public Object clone() {
|
|
return null;
|
|
}
|
|
}
|