first commit

This commit is contained in:
2025-07-28 13:56:49 +05:30
commit e9eb805edb
3438 changed files with 520990 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
package net.sf.jasperreports.engine.fill;
import java.util.TimeZone;
import net.sf.jasperreports.engine.JRDatasetRun;
import net.sf.jasperreports.engine.JRElementDataset;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExpression;
import net.sf.jasperreports.engine.JRGroup;
public abstract class JRFillElementDataset implements JRElementDataset {
protected JRElementDataset parent = null;
private final JRBaseFiller filler;
protected JRGroup resetGroup = null;
protected JRGroup incrementGroup = null;
private boolean isIncremented = true;
protected JRFillDatasetRun datasetRun;
private boolean increment = false;
protected JRFillElementDataset(JRElementDataset dataset, JRFillObjectFactory factory) {
factory.put(dataset, this);
this.parent = dataset;
this.filler = factory.getFiller();
this.resetGroup = factory.getGroup(dataset.getResetGroup());
this.incrementGroup = factory.getGroup(dataset.getIncrementGroup());
this.datasetRun = factory.getDatasetRun(dataset.getDatasetRun());
}
public byte getResetType() {
return this.parent.getResetType();
}
public byte getIncrementType() {
return this.parent.getIncrementType();
}
public JRGroup getResetGroup() {
return this.resetGroup;
}
public JRGroup getIncrementGroup() {
return this.incrementGroup;
}
protected TimeZone getTimeZone() {
return this.filler.getTimeZone();
}
protected void initialize() {
customInitialize();
this.isIncremented = false;
this.increment = false;
}
protected void evaluate(JRCalculator calculator) throws JRExpressionEvalException {
evaluateIncrementWhenExpression(calculator);
if (this.increment)
customEvaluate(calculator);
this.isIncremented = false;
}
protected void evaluateIncrementWhenExpression(JRCalculator calculator) throws JRExpressionEvalException {
JRExpression incrementWhenExpression = getIncrementWhenExpression();
if (incrementWhenExpression == null) {
this.increment = true;
} else {
Boolean evaluated = (Boolean)calculator.evaluate(incrementWhenExpression);
this.increment = (evaluated != null && evaluated.booleanValue());
}
}
protected void increment() {
if (!this.isIncremented && this.increment)
customIncrement();
this.isIncremented = true;
}
protected abstract void customInitialize();
protected abstract void customEvaluate(JRCalculator paramJRCalculator) throws JRExpressionEvalException;
protected abstract void customIncrement();
public JRDatasetRun getDatasetRun() {
return this.datasetRun;
}
public void evaluateDatasetRun(byte evaluation) throws JRException {
if (this.datasetRun != null)
this.datasetRun.evaluate(this, evaluation);
}
public JRFillDataset getInputDataset() {
JRFillDataset inputDataset;
if (this.datasetRun != null) {
inputDataset = this.datasetRun.getDataset();
} else {
inputDataset = this.filler.mainDataset;
}
return inputDataset;
}
public JRExpression getIncrementWhenExpression() {
return this.parent.getIncrementWhenExpression();
}
public Object clone() {
return null;
}
}