Class ExpressionEvalMap
java.lang.Object
java.util.AbstractMap<java.lang.String,java.lang.Object>
org.springframework.integration.expression.ExpressionEvalMap
- All Implemented Interfaces:
java.util.Map<java.lang.String,java.lang.Object>
public final class ExpressionEvalMap
extends java.util.AbstractMap<java.lang.String,java.lang.Object>
An immutable AbstractMap implementation that wraps a Map<String, Object>,
where values must be instances of String or Expression,
and evaluates an expression for the provided key from the underlying
original Map.
Any mutating operations (put(String, Object), remove(Object) etc.)
are not allowed on instances of this class. Mutation can be performed on underlying Map
if it supports it.
A ExpressionEvalMap.ExpressionEvalMapBuilder must be used to instantiate this class
via its from(Map) method:
ExpressionEvalMap evalMap = ExpressionEvalMap
.from(expressions)
.usingCallback(new EvaluationCallback() {
Object evaluate(Expression expression) {
// return some expression evaluation
}
})
.build();
Thread-safety depends on the original underlying Map. Objects of this class are not serializable.
- Since:
- 3.0
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classExpressionEvalMap.ComponentsEvaluationCallbackTheExpressionEvalMap.EvaluationCallbackimplementation which evaluates an expression using the providedcontext,rootandreturnTypevariables.static interfaceExpressionEvalMap.EvaluationCallbackImplementations of this interface can be provided to build 'on demandget(Object)logic' forExpressionEvalMap.static classExpressionEvalMap.ExpressionEvalMapBuilderThe builder class to instantiateExpressionEvalMap.static interfaceExpressionEvalMap.ExpressionEvalMapComponentsBuilderstatic interfaceExpressionEvalMap.ExpressionEvalMapFinalBuilder -
Field Summary
Fields Modifier and Type Field Description static ExpressionEvalMap.EvaluationCallbackSIMPLE_CALLBACK -
Method Summary
Modifier and Type Method Description voidclear()booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>>entrySet()booleanequals(java.lang.Object o)static ExpressionEvalMap.ExpressionEvalMapBuilderfrom(java.util.Map<java.lang.String,?> expressions)java.lang.Objectget(java.lang.Object key)Gets thevalue(Expression) for the providedkeyfromoriginaland returns the result of evaluation usingevaluationCallback.inthashCode()booleanisEmpty()java.util.Set<java.lang.String>keySet()java.lang.Objectput(java.lang.String key, java.lang.Object value)voidputAll(java.util.Map<? extends java.lang.String,?> m)java.lang.Objectremove(java.lang.Object key)intsize()java.lang.StringtoString()java.util.Collection<java.lang.Object>values()
-
Field Details
-
Method Details
-
get
@Nullable public java.lang.Object get(java.lang.Object key)Gets thevalue(Expression) for the providedkeyfromoriginaland returns the result of evaluation usingevaluationCallback.- Specified by:
getin interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
getin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
entrySet
public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()- Specified by:
entrySetin interfacejava.util.Map<java.lang.String,java.lang.Object>- Specified by:
entrySetin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
values
public java.util.Collection<java.lang.Object> values()- Specified by:
valuesin interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
valuesin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
containsKey
public boolean containsKey(java.lang.Object key)- Specified by:
containsKeyin interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
containsKeyin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
keySet
public java.util.Set<java.lang.String> keySet()- Specified by:
keySetin interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
keySetin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
isEmptyin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
size
public int size()- Specified by:
sizein interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
sizein classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
equals
public boolean equals(java.lang.Object o)- Specified by:
equalsin interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
equalsin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
hashCodein classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
put
public java.lang.Object put(java.lang.String key, java.lang.Object value)- Specified by:
putin interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
putin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
putAll
public void putAll(java.util.Map<? extends java.lang.String,?> m)- Specified by:
putAllin interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
putAllin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
clear
public void clear()- Specified by:
clearin interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
clearin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
containsValue
public boolean containsValue(java.lang.Object value)- Specified by:
containsValuein interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
containsValuein classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
remove
public java.lang.Object remove(java.lang.Object key)- Specified by:
removein interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
removein classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
from
public static ExpressionEvalMap.ExpressionEvalMapBuilder from(java.util.Map<java.lang.String,?> expressions)
-