56 lines
1.7 KiB
Java
56 lines
1.7 KiB
Java
package net.sf.jasperreports.charts.fill;
|
|
|
|
import net.sf.jasperreports.charts.JRValueDataset;
|
|
import net.sf.jasperreports.engine.JRChartDataset;
|
|
import net.sf.jasperreports.engine.JRExpression;
|
|
import net.sf.jasperreports.engine.JRExpressionCollector;
|
|
import net.sf.jasperreports.engine.design.JRVerifier;
|
|
import net.sf.jasperreports.engine.fill.JRCalculator;
|
|
import net.sf.jasperreports.engine.fill.JRExpressionEvalException;
|
|
import net.sf.jasperreports.engine.fill.JRFillChartDataset;
|
|
import net.sf.jasperreports.engine.fill.JRFillObjectFactory;
|
|
import org.jfree.data.general.Dataset;
|
|
import org.jfree.data.general.DefaultValueDataset;
|
|
|
|
public class JRFillValueDataset extends JRFillChartDataset implements JRValueDataset {
|
|
private Number value = null;
|
|
|
|
private DefaultValueDataset valueDataset = new DefaultValueDataset();
|
|
|
|
public JRFillValueDataset(JRValueDataset valueDataset, JRFillObjectFactory factory) {
|
|
super((JRChartDataset)valueDataset, factory);
|
|
}
|
|
|
|
public JRExpression getValueExpression() {
|
|
return ((JRValueDataset)this.parent).getValueExpression();
|
|
}
|
|
|
|
protected void customInitialize() {
|
|
this.valueDataset = new DefaultValueDataset();
|
|
}
|
|
|
|
protected void customEvaluate(JRCalculator calculator) throws JRExpressionEvalException {
|
|
this.value = (Number)calculator.evaluate(getValueExpression());
|
|
}
|
|
|
|
protected void customIncrement() {
|
|
this.valueDataset.setValue(this.value);
|
|
}
|
|
|
|
public Dataset getCustomDataset() {
|
|
return (Dataset)this.valueDataset;
|
|
}
|
|
|
|
public byte getDatasetType() {
|
|
return 8;
|
|
}
|
|
|
|
public void collectExpressions(JRExpressionCollector collector) {
|
|
collector.collect(this);
|
|
}
|
|
|
|
public void validate(JRVerifier verifier) {
|
|
verifier.verify(this);
|
|
}
|
|
}
|