public class CompositeStringExpression extends Object implements Expression
"Hello ${getName()}"which will be represented as a CompositeStringExpression of two parts. The first part being a LiteralExpression representing 'Hello ' and the second part being a real expression that will call
getName()
when invoked.Constructor and Description |
---|
CompositeStringExpression(String expressionString,
Expression[] expressions) |
Modifier and Type | Method and Description |
---|---|
Expression[] |
getExpressions() |
String |
getExpressionString()
Returns the original string used to create this expression, unmodified.
|
String |
getValue()
Evaluate this expression in the default standard context.
|
<T> T |
getValue(Class<T> expectedResultType)
Evaluate the expression in the default context.
|
String |
getValue(EvaluationContext context)
Evaluate this expression in the provided context and return the result of evaluation.
|
<T> T |
getValue(EvaluationContext context,
Class<T> expectedResultType)
Evaluate the expression in a specified context which can resolve references to properties, methods, types, etc -
the type of the evaluation result is expected to be of a particular class and an exception will be thrown if it
is not and cannot be converted to that type.
|
String |
getValue(EvaluationContext context,
Object rootObject)
Evaluate this expression in the provided context and return the result of evaluation, but use
the supplied root context as an override for any default root object specified in the context.
|
<T> T |
getValue(EvaluationContext context,
Object rootObject,
Class<T> desiredResultType)
Evaluate the expression in a specified context which can resolve references to properties, methods, types, etc -
the type of the evaluation result is expected to be of a particular class and an exception will be thrown if it
is not and cannot be converted to that type.
|
String |
getValue(Object rootObject)
Evaluate this expression against the specified root object
|
<T> T |
getValue(Object rootObject,
Class<T> desiredResultType)
Evaluate the expression in the default context against the specified root object.
|
Class |
getValueType()
Returns the most general type that can be passed to the
Expression.setValue(EvaluationContext, Object)
method using the default context. |
Class |
getValueType(EvaluationContext context)
Returns the most general type that can be passed to the
Expression.setValue(EvaluationContext, Object)
method for the given context. |
Class |
getValueType(EvaluationContext context,
Object rootObject)
Returns the most general type that can be passed to the
Expression.setValue(EvaluationContext, Object)
method for the given context. |
Class |
getValueType(Object rootObject)
Returns the most general type that can be passed to the
Expression.setValue(EvaluationContext, Object)
method using the default context. |
TypeDescriptor |
getValueTypeDescriptor()
Returns the most general type that can be passed to the
Expression.setValue(EvaluationContext, Object)
method using the default context. |
TypeDescriptor |
getValueTypeDescriptor(EvaluationContext context)
Returns the most general type that can be passed to the
Expression.setValue(EvaluationContext, Object)
method for the given context. |
TypeDescriptor |
getValueTypeDescriptor(EvaluationContext context,
Object rootObject)
Returns the most general type that can be passed to the
Expression.setValue(EvaluationContext, Object) method for
the given context. |
TypeDescriptor |
getValueTypeDescriptor(Object rootObject)
Returns the most general type that can be passed to the
Expression.setValue(EvaluationContext, Object)
method using the default context. |
boolean |
isWritable(EvaluationContext context)
Determine if an expression can be written to, i.e.
|
boolean |
isWritable(EvaluationContext context,
Object rootObject)
Determine if an expression can be written to, i.e.
|
boolean |
isWritable(Object rootObject)
Determine if an expression can be written to, i.e.
|
void |
setValue(EvaluationContext context,
Object value)
Set this expression in the provided context to the value provided.
|
void |
setValue(EvaluationContext context,
Object rootObject,
Object value)
Set this expression in the provided context to the value provided.
|
void |
setValue(Object rootObject,
Object value)
Set this expression in the provided context to the value provided.
|
public CompositeStringExpression(String expressionString, Expression[] expressions)
public final String getExpressionString()
Expression
getExpressionString
in interface Expression
public String getValue() throws EvaluationException
Expression
getValue
in interface Expression
EvaluationException
- if there is a problem during evaluationpublic String getValue(Object rootObject) throws EvaluationException
Expression
getValue
in interface Expression
rootObject
- the root object against which properties/etc will be resolvedEvaluationException
- if there is a problem during evaluationpublic String getValue(EvaluationContext context) throws EvaluationException
Expression
getValue
in interface Expression
context
- the context in which to evaluate the expressionEvaluationException
- if there is a problem during evaluationpublic String getValue(EvaluationContext context, Object rootObject) throws EvaluationException
Expression
getValue
in interface Expression
context
- the context in which to evaluate the expressionrootObject
- the root object against which properties/etc will be resolvedEvaluationException
- if there is a problem during evaluationpublic Class getValueType(EvaluationContext context)
Expression
Expression.setValue(EvaluationContext, Object)
method for the given context.getValueType
in interface Expression
context
- the context in which to evaluate the expressionpublic Class getValueType()
Expression
Expression.setValue(EvaluationContext, Object)
method using the default context.getValueType
in interface Expression
public TypeDescriptor getValueTypeDescriptor(EvaluationContext context)
Expression
Expression.setValue(EvaluationContext, Object)
method for the given context.getValueTypeDescriptor
in interface Expression
context
- the context in which to evaluate the expressionpublic TypeDescriptor getValueTypeDescriptor()
Expression
Expression.setValue(EvaluationContext, Object)
method using the default context.getValueTypeDescriptor
in interface Expression
public void setValue(EvaluationContext context, Object value) throws EvaluationException
Expression
setValue
in interface Expression
context
- the context in which to set the value of the expressionvalue
- the new valueEvaluationException
- if there is a problem during evaluationpublic <T> T getValue(EvaluationContext context, Class<T> expectedResultType) throws EvaluationException
Expression
getValue
in interface Expression
context
- the context in which to evaluate the expressionexpectedResultType
- the class the caller would like the result to beEvaluationException
- if there is a problem during evaluationpublic <T> T getValue(Class<T> expectedResultType) throws EvaluationException
Expression
getValue
in interface Expression
expectedResultType
- the class the caller would like the result to beEvaluationException
- if there is a problem during evaluationpublic boolean isWritable(EvaluationContext context)
Expression
isWritable
in interface Expression
context
- the context in which the expression should be checkedpublic Expression[] getExpressions()
public <T> T getValue(Object rootObject, Class<T> desiredResultType) throws EvaluationException
Expression
getValue
in interface Expression
rootObject
- the root object against which properties/etc will be resolveddesiredResultType
- the class the caller would like the result to beEvaluationException
- if there is a problem during evaluationpublic <T> T getValue(EvaluationContext context, Object rootObject, Class<T> desiredResultType) throws EvaluationException
Expression
getValue
in interface Expression
context
- the context in which to evaluate the expressionrootObject
- the root object against which properties/etc will be resolveddesiredResultType
- the class the caller would like the result to beEvaluationException
- if there is a problem during evaluationpublic Class getValueType(Object rootObject) throws EvaluationException
Expression
Expression.setValue(EvaluationContext, Object)
method using the default context.getValueType
in interface Expression
rootObject
- the root object against which to evaluate the expressionEvaluationException
- if there is a problem determining the typepublic Class getValueType(EvaluationContext context, Object rootObject) throws EvaluationException
Expression
Expression.setValue(EvaluationContext, Object)
method for the given context. The supplied root object overrides any specified in the context.getValueType
in interface Expression
context
- the context in which to evaluate the expressionrootObject
- the root object against which to evaluate the expressionEvaluationException
- if there is a problem determining the typepublic TypeDescriptor getValueTypeDescriptor(Object rootObject) throws EvaluationException
Expression
Expression.setValue(EvaluationContext, Object)
method using the default context.getValueTypeDescriptor
in interface Expression
rootObject
- the root object against which to evaluate the expressionEvaluationException
- if there is a problem determining the typepublic TypeDescriptor getValueTypeDescriptor(EvaluationContext context, Object rootObject) throws EvaluationException
Expression
Expression.setValue(EvaluationContext, Object)
method for
the given context. The supplied root object overrides any specified in the context.getValueTypeDescriptor
in interface Expression
context
- the context in which to evaluate the expressionrootObject
- the root object against which to evaluate the expressionEvaluationException
- if there is a problem determining the typepublic boolean isWritable(EvaluationContext context, Object rootObject) throws EvaluationException
Expression
isWritable
in interface Expression
context
- the context in which the expression should be checkedrootObject
- the root object against which to evaluate the expressionEvaluationException
- if there is a problem determining if it is writablepublic void setValue(EvaluationContext context, Object rootObject, Object value) throws EvaluationException
Expression
setValue
in interface Expression
context
- the context in which to set the value of the expressionrootObject
- the root object against which to evaluate the expressionvalue
- the new valueEvaluationException
- if there is a problem during evaluationpublic boolean isWritable(Object rootObject) throws EvaluationException
Expression
isWritable
in interface Expression
rootObject
- the root object against which to evaluate the expressionEvaluationException
- if there is a problem determining if it is writablepublic void setValue(Object rootObject, Object value) throws EvaluationException
Expression
setValue
in interface Expression
rootObject
- the root object against which to evaluate the expressionvalue
- the new valueEvaluationException
- if there is a problem during evaluation