first commit
This commit is contained in:
210
hrmsEjb/net/sf/jasperreports/engine/fill/JRFillVariable.java
Normal file
210
hrmsEjb/net/sf/jasperreports/engine/fill/JRFillVariable.java
Normal 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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user