Files
HRMS/hrmsEjb/net/sf/jasperreports/engine/base/JRBaseVariable.java
2025-07-28 13:56:49 +05:30

156 lines
4.5 KiB
Java

package net.sf.jasperreports.engine.base;
import java.io.Serializable;
import net.sf.jasperreports.engine.JRExpression;
import net.sf.jasperreports.engine.JRGroup;
import net.sf.jasperreports.engine.JRRuntimeException;
import net.sf.jasperreports.engine.JRVariable;
import net.sf.jasperreports.engine.util.JRClassLoader;
public class JRBaseVariable implements JRVariable, Serializable {
private static final long serialVersionUID = 10200L;
protected String name = null;
protected String valueClassName = String.class.getName();
protected String valueClassRealName = null;
protected String incrementerFactoryClassName = null;
protected String incrementerFactoryClassRealName = null;
protected byte resetType = 1;
protected byte incrementType = 5;
protected byte calculation = 0;
protected boolean isSystemDefined = false;
protected transient Class valueClass = null;
protected transient Class incrementerFactoryClass = null;
protected JRExpression expression = null;
protected JRExpression initialValueExpression = null;
protected JRGroup resetGroup = null;
protected JRGroup incrementGroup = null;
protected JRBaseVariable(JRVariable variable, JRBaseObjectFactory factory) {
factory.put(variable, this);
this.name = variable.getName();
this.valueClassName = variable.getValueClassName();
this.incrementerFactoryClassName = variable.getIncrementerFactoryClassName();
this.resetType = variable.getResetType();
this.incrementType = variable.getIncrementType();
this.calculation = variable.getCalculation();
this.isSystemDefined = variable.isSystemDefined();
this.expression = factory.getExpression(variable.getExpression());
this.initialValueExpression = factory.getExpression(variable.getInitialValueExpression());
this.resetGroup = factory.getGroup(variable.getResetGroup());
this.incrementGroup = factory.getGroup(variable.getIncrementGroup());
}
public String getName() {
return this.name;
}
public Class getValueClass() {
if (this.valueClass == null) {
String className = getValueClassRealName();
if (className != null)
try {
this.valueClass = JRClassLoader.loadClassForName(className);
} catch (ClassNotFoundException e) {
throw new JRRuntimeException(e);
}
}
return this.valueClass;
}
public String getValueClassName() {
return this.valueClassName;
}
private String getValueClassRealName() {
if (this.valueClassRealName == null)
this.valueClassRealName = JRClassLoader.getClassRealName(this.valueClassName);
return this.valueClassRealName;
}
public Class getIncrementerFactoryClass() {
if (this.incrementerFactoryClass == null) {
String className = getIncrementerFactoryClassRealName();
if (className != null)
try {
this.incrementerFactoryClass = JRClassLoader.loadClassForName(className);
} catch (ClassNotFoundException e) {
throw new JRRuntimeException(e);
}
}
return this.incrementerFactoryClass;
}
public String getIncrementerFactoryClassName() {
return this.incrementerFactoryClassName;
}
private String getIncrementerFactoryClassRealName() {
if (this.incrementerFactoryClassRealName == null)
this.incrementerFactoryClassRealName = JRClassLoader.getClassRealName(this.incrementerFactoryClassName);
return this.incrementerFactoryClassRealName;
}
public byte getResetType() {
return this.resetType;
}
public byte getIncrementType() {
return this.incrementType;
}
public byte getCalculation() {
return this.calculation;
}
public boolean isSystemDefined() {
return this.isSystemDefined;
}
public JRExpression getExpression() {
return this.expression;
}
public JRExpression getInitialValueExpression() {
return this.initialValueExpression;
}
public JRGroup getResetGroup() {
return this.resetGroup;
}
public JRGroup getIncrementGroup() {
return this.incrementGroup;
}
public Object clone() {
JRBaseVariable clone = null;
try {
clone = (JRBaseVariable)super.clone();
} catch (CloneNotSupportedException e) {
throw new JRRuntimeException(e);
}
if (this.expression != null)
clone.expression = (JRExpression)this.expression.clone();
if (this.initialValueExpression != null)
clone.initialValueExpression = (JRExpression)this.initialValueExpression.clone();
return clone;
}
protected JRBaseVariable() {}
}