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,210 @@
package net.sf.jasperreports.engine.fill;
import net.sf.jasperreports.engine.JRExpression;
import net.sf.jasperreports.engine.JRGroup;
import net.sf.jasperreports.engine.JRVariable;
public class JRFillVariable implements JRVariable, JRCalculable {
protected JRVariable parent = null;
private JRGroup resetGroup = null;
private JRGroup incrementGroup = null;
private Object previousOldValue = null;
private Object oldValue = null;
private Object estimatedValue = null;
private Object incrementedValue = null;
private Object value = null;
private boolean isInitialized = false;
private Object savedValue;
private JRFillVariable[] helperVariables;
private JRIncrementer incrementer = null;
protected JRFillVariable(JRVariable variable, JRFillObjectFactory factory) {
factory.put(variable, this);
this.parent = variable;
this.resetGroup = factory.getGroup(variable.getResetGroup());
this.incrementGroup = factory.getGroup(variable.getIncrementGroup());
this.helperVariables = new JRFillVariable[3];
}
public String getName() {
return this.parent.getName();
}
public Class getValueClass() {
return this.parent.getValueClass();
}
public String getValueClassName() {
return this.parent.getValueClassName();
}
public Class getIncrementerFactoryClass() {
return this.parent.getIncrementerFactoryClass();
}
public String getIncrementerFactoryClassName() {
return this.parent.getIncrementerFactoryClassName();
}
public JRExpression getExpression() {
return this.parent.getExpression();
}
public JRExpression getInitialValueExpression() {
return this.parent.getInitialValueExpression();
}
public byte getResetType() {
return this.parent.getResetType();
}
public byte getIncrementType() {
return this.parent.getIncrementType();
}
public byte getCalculation() {
return this.parent.getCalculation();
}
public boolean isSystemDefined() {
return this.parent.isSystemDefined();
}
public JRGroup getResetGroup() {
return this.resetGroup;
}
public JRGroup getIncrementGroup() {
return this.incrementGroup;
}
public Object getOldValue() {
return this.oldValue;
}
public void setOldValue(Object oldValue) {
this.oldValue = oldValue;
}
public Object getEstimatedValue() {
return this.estimatedValue;
}
public void setEstimatedValue(Object estimatedValue) {
this.estimatedValue = estimatedValue;
}
public Object getIncrementedValue() {
return this.incrementedValue;
}
public void setIncrementedValue(Object incrementedValue) {
this.incrementedValue = incrementedValue;
}
public Object getValue() {
return this.value;
}
public void setValue(Object value) {
this.value = value;
}
public boolean isInitialized() {
return this.isInitialized;
}
public void setInitialized(boolean isInitialized) {
this.isInitialized = isInitialized;
}
public JRIncrementer getIncrementer() {
if (this.incrementer == null) {
JRIncrementerFactory incrementerFactory;
Class incrementerFactoryClass = getIncrementerFactoryClass();
if (incrementerFactoryClass == null) {
incrementerFactory = JRDefaultIncrementerFactory.getFactory(getValueClass());
} else {
incrementerFactory = JRIncrementerFactoryCache.getInstance(incrementerFactoryClass);
}
this.incrementer = incrementerFactory.getIncrementer(getCalculation());
}
return this.incrementer;
}
public JRFillVariable setHelperVariable(JRFillVariable helperVariable, byte type) {
JRFillVariable old = this.helperVariables[type];
this.helperVariables[type] = helperVariable;
return old;
}
public JRCalculable getHelperVariable(byte type) {
return this.helperVariables[type];
}
public Object getValue(byte evaluation) {
switch (evaluation) {
case 1:
returnValue = this.oldValue;
return returnValue;
case 2:
returnValue = this.estimatedValue;
return returnValue;
}
Object returnValue = this.value;
return returnValue;
}
public void overwriteValue(Object newValue, byte evaluation) {
switch (evaluation) {
case 1:
this.savedValue = this.oldValue;
this.oldValue = newValue;
return;
case 2:
this.savedValue = this.estimatedValue;
this.estimatedValue = newValue;
return;
}
this.savedValue = this.value;
this.value = newValue;
}
public void restoreValue(byte evaluation) {
switch (evaluation) {
case 1:
this.oldValue = this.savedValue;
break;
case 2:
this.estimatedValue = this.savedValue;
break;
default:
this.value = this.savedValue;
break;
}
this.savedValue = null;
}
public Object getPreviousOldValue() {
return this.previousOldValue;
}
public void setPreviousOldValue(Object previousOldValue) {
this.previousOldValue = previousOldValue;
}
public Object clone() {
return null;
}
}