141 lines
4.7 KiB
Java
141 lines
4.7 KiB
Java
package net.sf.jasperreports.engine;
|
|
|
|
import java.util.Map;
|
|
import net.sf.jasperreports.engine.fill.JRFillField;
|
|
import net.sf.jasperreports.engine.fill.JRFillGroup;
|
|
import net.sf.jasperreports.engine.fill.JRFillParameter;
|
|
import net.sf.jasperreports.engine.fill.JRFillVariable;
|
|
|
|
public abstract class JRAbstractScriptlet {
|
|
protected Map parametersMap = null;
|
|
|
|
protected Map fieldsMap = null;
|
|
|
|
protected Map variablesMap = null;
|
|
|
|
protected JRFillGroup[] groups = null;
|
|
|
|
public void setData(Map parsm, Map fldsm, Map varsm, JRFillGroup[] grps) {
|
|
this.parametersMap = parsm;
|
|
this.fieldsMap = fldsm;
|
|
this.variablesMap = varsm;
|
|
this.groups = grps;
|
|
}
|
|
|
|
public Object getParameterValue(String parameterName) throws JRScriptletException {
|
|
JRFillParameter parameter = (JRFillParameter)this.parametersMap.get(parameterName);
|
|
if (parameter == null)
|
|
throw new JRScriptletException("Parameter not found : " + parameterName);
|
|
return parameter.getValue();
|
|
}
|
|
|
|
public Object getFieldValue(String fieldName) throws JRScriptletException {
|
|
JRFillField field = (JRFillField)this.fieldsMap.get(fieldName);
|
|
if (field == null)
|
|
throw new JRScriptletException("Field not found : " + fieldName);
|
|
return field.getValue();
|
|
}
|
|
|
|
public Object getVariableValue(String variableName) throws JRScriptletException {
|
|
JRFillVariable variable = (JRFillVariable)this.variablesMap.get(variableName);
|
|
if (variable == null)
|
|
throw new JRScriptletException("Variable not found : " + variableName);
|
|
return variable.getValue();
|
|
}
|
|
|
|
public void setVariableValue(String variableName, Object value) throws JRScriptletException {
|
|
JRFillVariable variable = (JRFillVariable)this.variablesMap.get(variableName);
|
|
if (variable == null)
|
|
throw new JRScriptletException("Variable not found : " + variableName);
|
|
if (value != null && !variable.getValueClass().isInstance(value))
|
|
throw new JRScriptletException("Incompatible value assigned to variable " + variableName + ". Expected " + variable.getValueClassName() + ".");
|
|
variable.setValue(value);
|
|
}
|
|
|
|
public void callBeforeReportInit() throws JRScriptletException {
|
|
beforeReportInit();
|
|
beforePageInit();
|
|
beforeColumnInit();
|
|
if (this.groups != null && this.groups.length > 0)
|
|
for (int i = 0; i < this.groups.length; i++)
|
|
beforeGroupInit(this.groups[i].getName());
|
|
}
|
|
|
|
public void callAfterReportInit() throws JRScriptletException {
|
|
if (this.groups != null && this.groups.length > 0)
|
|
for (int i = this.groups.length - 1; i >= 0; i--)
|
|
afterGroupInit(this.groups[i].getName());
|
|
afterColumnInit();
|
|
afterPageInit();
|
|
afterReportInit();
|
|
}
|
|
|
|
public void callBeforePageInit() throws JRScriptletException {
|
|
beforePageInit();
|
|
beforeColumnInit();
|
|
}
|
|
|
|
public void callAfterPageInit() throws JRScriptletException {
|
|
afterColumnInit();
|
|
afterPageInit();
|
|
}
|
|
|
|
public void callBeforeColumnInit() throws JRScriptletException {
|
|
beforeColumnInit();
|
|
}
|
|
|
|
public void callAfterColumnInit() throws JRScriptletException {
|
|
afterColumnInit();
|
|
}
|
|
|
|
public void callBeforeGroupInit() throws JRScriptletException {
|
|
if (this.groups != null && this.groups.length > 0) {
|
|
JRFillGroup group = null;
|
|
for (int i = 0; i < this.groups.length; i++) {
|
|
group = this.groups[i];
|
|
if (group.hasChanged())
|
|
beforeGroupInit(group.getName());
|
|
}
|
|
}
|
|
}
|
|
|
|
public void callAfterGroupInit() throws JRScriptletException {
|
|
if (this.groups != null && this.groups.length > 0) {
|
|
JRFillGroup group = null;
|
|
for (int i = this.groups.length - 1; i >= 0; i--) {
|
|
group = this.groups[i];
|
|
if (group.hasChanged())
|
|
afterGroupInit(group.getName());
|
|
}
|
|
}
|
|
}
|
|
|
|
public void callBeforeDetailEval() throws JRScriptletException {
|
|
beforeDetailEval();
|
|
}
|
|
|
|
public void callAfterDetailEval() throws JRScriptletException {
|
|
afterDetailEval();
|
|
}
|
|
|
|
public abstract void beforeReportInit() throws JRScriptletException;
|
|
|
|
public abstract void afterReportInit() throws JRScriptletException;
|
|
|
|
public abstract void beforePageInit() throws JRScriptletException;
|
|
|
|
public abstract void afterPageInit() throws JRScriptletException;
|
|
|
|
public abstract void beforeColumnInit() throws JRScriptletException;
|
|
|
|
public abstract void afterColumnInit() throws JRScriptletException;
|
|
|
|
public abstract void beforeGroupInit(String paramString) throws JRScriptletException;
|
|
|
|
public abstract void afterGroupInit(String paramString) throws JRScriptletException;
|
|
|
|
public abstract void beforeDetailEval() throws JRScriptletException;
|
|
|
|
public abstract void afterDetailEval() throws JRScriptletException;
|
|
}
|