public abstract class JREvaluator extends Object implements DatasetExpressionEvaluator
this
reference. This is the calculator
object. It has public utility methods that are ready to use inside report expressions.
Currently, there are only a few utility methods of the calculator object available as built-in functions inside report expressions. These are the following:
msg
- this function offers a convenient way to format messages based on the current
report locale, just as you would normally do when using a
java.text.MessageFormat
instance. Furthermore, several signatures for this
function take up to three message parameters in order to make the formatting
functionality easier to use.str
- this function is the equivalent of the $R{}
syntax. It gives access
to locale specific resources from the associated resource bundle.Modifier and Type | Field and Description |
---|---|
static String |
EXCEPTION_MESSAGE_KEY_RESOURCE_NOT_FOUND |
protected boolean |
ignoreNPE |
static String |
PROPERTY_IGNORE_NPE
The expression evaluation engine in JasperReports has always ignored java.lang.NullPointerException
exceptions raised during expression evaluation.
|
Modifier | Constructor and Description |
---|---|
protected |
JREvaluator()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
protected abstract void |
customizedInit(Map<String,JRFillParameter> parametersMap,
Map<String,JRFillField> fieldsMap,
Map<String,JRFillVariable> variablesMap)
Initializes the parameters, fields and variables of the evaluator.
|
protected abstract Object |
evaluate(int id)
Evaluates an expression using current fields and variables values.
|
Object |
evaluate(JRExpression expression) |
protected abstract Object |
evaluateEstimated(int id)
Evaluates an expression using estimated variables values.
|
Object |
evaluateEstimated(JRExpression expression) |
protected abstract Object |
evaluateOld(int id)
Evaluates an expression using old fields and variables values.
|
Object |
evaluateOld(JRExpression expression) |
<T extends FunctionSupport> |
getFunctionSupport(Class<T> clazz) |
protected Object |
handleEvaluationException(JRExpression expression,
Throwable e) |
protected String |
handleMissingResource(String key,
Exception e)
Handles the case when a resource is missing.
|
void |
init(Map<String,JRFillParameter> parametersMap,
Map<String,JRFillField> fieldsMap,
Map<String,JRFillVariable> variablesMap,
WhenResourceMissingTypeEnum resourceMissingType,
boolean ignoreNPE)
Initializes the evaluator by setting the parameter, field and variable objects.
|
String |
msg(String pattern,
Object... args)
Constructs a message using a pattern with any number of parameters.
|
String |
msg(String pattern,
Object arg0)
Constructs a message using a pattern with one parameter.
|
String |
msg(String pattern,
Object arg0,
Object arg1)
Constructs a message using a pattern with two parameters.
|
String |
msg(String pattern,
Object arg0,
Object arg1,
Object arg2)
Constructs a message using a pattern with three parameters.
|
void |
setDirectExpressionEvaluators(DirectExpressionEvaluators directExpressionEvaluators) |
String |
str(String key)
Returns a string for a given key from the resource bundle associated with the evaluator.
|
public static final String EXCEPTION_MESSAGE_KEY_RESOURCE_NOT_FOUND
public static final String PROPERTY_IGNORE_NPE
protected boolean ignoreNPE
public void setDirectExpressionEvaluators(DirectExpressionEvaluators directExpressionEvaluators)
public void init(Map<String,JRFillParameter> parametersMap, Map<String,JRFillField> fieldsMap, Map<String,JRFillVariable> variablesMap, WhenResourceMissingTypeEnum resourceMissingType, boolean ignoreNPE) throws JRException
init
in interface DatasetExpressionEvaluator
parametersMap
- the parameters indexed by namefieldsMap
- the fields indexed by namevariablesMap
- the variables indexed by nameresourceMissingType
- the resource missing typeJRException
public <T extends FunctionSupport> T getFunctionSupport(Class<T> clazz)
public String msg(String pattern, Object arg0)
pattern
- the message patternarg0
- the message parameterMessageFormat.format(java.lang.Object[],java.lang.StringBuffer, java.text.FieldPosition)
public String msg(String pattern, Object arg0, Object arg1)
pattern
- the message patternarg0
- the first message parameterarg1
- the second message parameterMessageFormat.format(java.lang.Object[],java.lang.StringBuffer, java.text.FieldPosition)
public String msg(String pattern, Object arg0, Object arg1, Object arg2)
pattern
- the message patternarg0
- the first message parameterarg1
- the second message parameterarg2
- the third parameterMessageFormat.format(java.lang.Object[],java.lang.StringBuffer, java.text.FieldPosition)
public String msg(String pattern, Object... args)
pattern
- the message patternargs
- the message parametersMessageFormat.format(java.lang.Object[],java.lang.StringBuffer, java.text.FieldPosition)
public String str(String key)
key
- the keyResourceBundle.getString(java.lang.String)
protected Object handleEvaluationException(JRExpression expression, Throwable e) throws JRExpressionEvalException
JRExpressionEvalException
public Object evaluate(JRExpression expression) throws JRExpressionEvalException
evaluate
in interface DatasetExpressionEvaluator
JRExpressionEvalException
public Object evaluateOld(JRExpression expression) throws JRExpressionEvalException
evaluateOld
in interface DatasetExpressionEvaluator
JRExpressionEvalException
public Object evaluateEstimated(JRExpression expression) throws JRExpressionEvalException
evaluateEstimated
in interface DatasetExpressionEvaluator
JRExpressionEvalException
protected String handleMissingResource(String key, Exception e) throws JRRuntimeException
key
- the resource keye
- the exceptionJRRuntimeException
- when the resource missing handling type is Errorprotected abstract void customizedInit(Map<String,JRFillParameter> parametersMap, Map<String,JRFillField> fieldsMap, Map<String,JRFillVariable> variablesMap) throws JRException
parametersMap
- the parameters indexed by namefieldsMap
- the fields indexed by namevariablesMap
- the variables indexed by nameJRException
protected abstract Object evaluate(int id) throws Throwable
id
- the expression idThrowable
JRExpression.EVALUATION_DEFAULT
,
JRFillVariable.getValue()
,
JRFillField.getValue()
protected abstract Object evaluateOld(int id) throws Throwable
id
- the expression idThrowable
JRExpression.EVALUATION_OLD
,
JRFillVariable.getOldValue()
,
JRFillField.getOldValue()
protected abstract Object evaluateEstimated(int id) throws Throwable
id
- the expression idThrowable
JRExpression.EVALUATION_ESTIMATED
,
JRFillVariable.getEstimatedValue()
Copyright © 2021 TIBCO Software Inc.. All rights reserved.