Files
HRMS/hrmsEjb/net/sf/jasperreports/charts/fill/JRFillTimeSeries.java
2025-07-28 13:56:49 +05:30

102 lines
2.9 KiB
Java

package net.sf.jasperreports.charts.fill;
import java.util.Date;
import net.sf.jasperreports.charts.JRTimeSeries;
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 JRFillTimeSeries implements JRTimeSeries {
protected JRTimeSeries parent = null;
private Comparable series = null;
private Date timePeriod = null;
private Number value = null;
private String label = null;
private JRPrintHyperlink itemHyperlink;
public JRFillTimeSeries(JRTimeSeries timeSeries, JRFillObjectFactory factory) {
factory.put(timeSeries, this);
this.parent = timeSeries;
}
public JRExpression getSeriesExpression() {
return this.parent.getSeriesExpression();
}
public JRExpression getTimePeriodExpression() {
return this.parent.getTimePeriodExpression();
}
public JRExpression getValueExpression() {
return this.parent.getValueExpression();
}
public JRExpression getLabelExpression() {
return this.parent.getLabelExpression();
}
protected Comparable getSeries() {
return this.series;
}
protected Date getTimePeriod() {
return this.timePeriod;
}
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.timePeriod = (Date)calculator.evaluate(getTimePeriodExpression());
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;
}
}