Class SupplierExpression<T>
java.lang.Object
org.springframework.integration.expression.SupplierExpression<T>
- Type Parameters:
T- The type the Supplier will return.
- All Implemented Interfaces:
Expression
An
Expression that simply invokes Supplier.get() on its
provided Supplier.
This is a powerful alternative to the SpEL, when Java 8 and its Lambda support is in use.
If the target component has support for an Expression property,
a SupplierExpression can be specified instead of a
SpelExpression
as an alternative to evaluate the value from the Lambda, rather than runtime SpEL resolution.
The SupplierExpression is 'read-only', hence only getValue() operations
are allowed.
Any setValue(org.springframework.expression.EvaluationContext, java.lang.Object) operations and getValueType() related operations
throw EvaluationException.
- Since:
- 5.0
- Author:
- Artem Bilan, Gary Russell
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal StringgetValue()<C> C<C> CgetValue(EvaluationContext context) <C> CgetValue(EvaluationContext context, Class<C> desiredResultType) getValue(EvaluationContext context, Object rootObject) <C> CgetValue(EvaluationContext context, Object rootObject, Class<C> desiredResultType) Class<?> Class<?> getValueType(Object rootObject) Class<?> getValueType(EvaluationContext context) Class<?> getValueType(EvaluationContext context, Object rootObject) getValueTypeDescriptor(Object rootObject) getValueTypeDescriptor(EvaluationContext context) getValueTypeDescriptor(EvaluationContext context, Object rootObject) booleanisWritable(Object rootObject) booleanisWritable(EvaluationContext context) booleanisWritable(EvaluationContext context, Object rootObject) voidvoidsetValue(EvaluationContext context, Object value) voidsetValue(EvaluationContext context, Object rootObject, Object value)
-
Constructor Details
-
SupplierExpression
-
-
Method Details
-
getValue
- Specified by:
getValuein interfaceExpression- Throws:
EvaluationException
-
getValue
- Specified by:
getValuein interfaceExpression- Throws:
EvaluationException
-
getValue
- Specified by:
getValuein interfaceExpression- Throws:
EvaluationException
-
getValue
- Specified by:
getValuein interfaceExpression- Throws:
EvaluationException
-
getValue
- Specified by:
getValuein interfaceExpression- Throws:
EvaluationException
-
getValue
- Specified by:
getValuein interfaceExpression- Throws:
EvaluationException
-
getValue
public <C> C getValue(EvaluationContext context, Class<C> desiredResultType) throws EvaluationException - Specified by:
getValuein interfaceExpression- Throws:
EvaluationException
-
getValue
public <C> C getValue(EvaluationContext context, Object rootObject, Class<C> desiredResultType) throws EvaluationException - Specified by:
getValuein interfaceExpression- Throws:
EvaluationException
-
getValueType
- Specified by:
getValueTypein interfaceExpression- Throws:
EvaluationException
-
getValueType
- Specified by:
getValueTypein interfaceExpression- Throws:
EvaluationException
-
getValueType
- Specified by:
getValueTypein interfaceExpression- Throws:
EvaluationException
-
getValueType
public Class<?> getValueType(EvaluationContext context, Object rootObject) throws EvaluationException - Specified by:
getValueTypein interfaceExpression- Throws:
EvaluationException
-
getValueTypeDescriptor
- Specified by:
getValueTypeDescriptorin interfaceExpression- Throws:
EvaluationException
-
getValueTypeDescriptor
- Specified by:
getValueTypeDescriptorin interfaceExpression- Throws:
EvaluationException
-
getValueTypeDescriptor
- Specified by:
getValueTypeDescriptorin interfaceExpression- Throws:
EvaluationException
-
getValueTypeDescriptor
public TypeDescriptor getValueTypeDescriptor(EvaluationContext context, Object rootObject) throws EvaluationException - Specified by:
getValueTypeDescriptorin interfaceExpression- Throws:
EvaluationException
-
setValue
- Specified by:
setValuein interfaceExpression- Throws:
EvaluationException
-
setValue
- Specified by:
setValuein interfaceExpression- Throws:
EvaluationException
-
setValue
public void setValue(EvaluationContext context, Object rootObject, Object value) throws EvaluationException - Specified by:
setValuein interfaceExpression- Throws:
EvaluationException
-
isWritable
- Specified by:
isWritablein interfaceExpression- Throws:
EvaluationException
-
isWritable
- Specified by:
isWritablein interfaceExpression- Throws:
EvaluationException
-
isWritable
- Specified by:
isWritablein interfaceExpression- Throws:
EvaluationException
-
getExpressionString
- Specified by:
getExpressionStringin interfaceExpression
-