Package ognl
Class OgnlContext
- java.lang.Object
-
- ognl.OgnlContext
-
- All Implemented Interfaces:
java.util.Map
public class OgnlContext extends java.lang.Object implements java.util.MapThis class defines the execution context for an OGNL expression
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<java.lang.Class<?>>_accessorStackprivate ClassResolver_classResolverprivate Evaluation_currentEvaluationprivate Node_currentNodeprivate java.lang.Object_currentObjectprivate boolean_keepLastEvaluationprivate Evaluation_lastEvaluationprivate int_localReferenceCounterprivate java.util.Map<java.lang.String,LocalReference>_localReferenceMapprivate MemberAccess_memberAccessprivate java.lang.Object_rootprivate Evaluation_rootEvaluationprivate boolean_traceEvaluationsprivate TypeConverter_typeConverterprivate java.util.List<java.lang.Class<?>>_typeStackprivate java.util.Map_valuesprivate static booleanDEFAULT_KEEP_LAST_EVALUATIONprivate static booleanDEFAULT_TRACE_EVALUATIONSstatic java.lang.StringKEEP_LAST_EVALUATION_CONTEXT_KEYstatic java.lang.StringLAST_EVALUATION_CONTEXT_KEYprivate static java.lang.StringPROPERTY_KEY_PREFIXprivate static java.util.Map<java.lang.Object,java.lang.Object>RESERVED_KEYSstatic java.lang.StringROOT_CONTEXT_KEYstatic java.lang.StringTHIS_CONTEXT_KEYstatic java.lang.StringTRACE_EVALUATIONS_CONTEXT_KEYstatic java.lang.StringTYPE_CONVERTER_CONTEXT_KEYDeprecated.
-
Constructor Summary
Constructors Constructor Description OgnlContext(ClassResolver classResolver, TypeConverter typeConverter, MemberAccess memberAccess)Constructs a new OgnlContext with the given class resolver, type converter and member access.OgnlContext(MemberAccess memberAccess, ClassResolver classResolver, TypeConverter typeConverter, java.util.Map values)Constructs a new OgnlContext with the given member access, class resolver, type converter and values.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddLocalReference(java.lang.String key, LocalReference reference)voidclear()booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)java.util.SetentrySet()booleanequals(java.lang.Object o)java.lang.Objectget(java.lang.Object key)ClassResolvergetClassResolver()java.lang.ClassgetCurrentAccessor()EvaluationgetCurrentEvaluation()Gets the current Evaluation from the top of the stack.NodegetCurrentNode()java.lang.ObjectgetCurrentObject()java.lang.ClassgetCurrentType()Gets the current class type being evaluated on the stack, as set bysetCurrentType(Class).EvaluationgetEvaluation(int relativeIndex)Returns the Evaluation at the relative index given.java.lang.ClassgetFirstAccessor()java.lang.ClassgetFirstType()booleangetKeepLastEvaluation()Returns true if the last evaluation that was done on this context is retained and available throughgetLastEvaluation().EvaluationgetLastEvaluation()java.util.MapgetLocalReferences()MemberAccessgetMemberAccess()java.lang.ClassgetPreviousAccessor()java.lang.ClassgetPreviousType()Represents the last known object type on the evaluation stack, will be the value of the last knowngetCurrentType().java.lang.ObjectgetRoot()EvaluationgetRootEvaluation()Gets the root of the evaluation stack.booleangetTraceEvaluations()TypeConvertergetTypeConverter()java.util.MapgetValues()Get the values Map for this OgnlContext.inthashCode()intincrementLocalReferenceCounter()booleanisEmpty()java.util.SetkeySet()EvaluationpopEvaluation()Pops the current Evaluation off of the top of the stack.voidpushEvaluation(Evaluation value)Pushes a new Evaluation onto the stack.java.lang.Objectput(java.lang.Object key, java.lang.Object value)voidputAll(java.util.Map t)voidrecycleLastEvaluation()Deprecated.since 3.2java.lang.Objectremove(java.lang.Object key)voidsetClassResolver(ClassResolver ignore)Deprecated.voidsetCurrentAccessor(java.lang.Class type)voidsetCurrentEvaluation(Evaluation value)voidsetCurrentNode(Node value)voidsetCurrentObject(java.lang.Object value)voidsetCurrentType(java.lang.Class type)voidsetKeepLastEvaluation(boolean value)Sets whether the last evaluation that was done on this context is retained and available throughgetLastEvaluation().voidsetLastEvaluation(Evaluation value)voidsetMemberAccess(MemberAccess ignore)Deprecated.voidsetPreviousType(java.lang.Class type)voidsetRoot(java.lang.Object value)voidsetRootEvaluation(Evaluation value)voidsetTraceEvaluations(boolean value)voidsetTypeConverter(TypeConverter ignore)Deprecated.voidsetValues(java.util.Map value)Set (put) the provided value map content into the existing values Map for this OgnlContext.intsize()java.util.Collectionvalues()
-
-
-
Field Detail
-
ROOT_CONTEXT_KEY
public static final java.lang.String ROOT_CONTEXT_KEY
- See Also:
- Constant Field Values
-
THIS_CONTEXT_KEY
public static final java.lang.String THIS_CONTEXT_KEY
- See Also:
- Constant Field Values
-
TRACE_EVALUATIONS_CONTEXT_KEY
public static final java.lang.String TRACE_EVALUATIONS_CONTEXT_KEY
- See Also:
- Constant Field Values
-
LAST_EVALUATION_CONTEXT_KEY
public static final java.lang.String LAST_EVALUATION_CONTEXT_KEY
- See Also:
- Constant Field Values
-
KEEP_LAST_EVALUATION_CONTEXT_KEY
public static final java.lang.String KEEP_LAST_EVALUATION_CONTEXT_KEY
- See Also:
- Constant Field Values
-
TYPE_CONVERTER_CONTEXT_KEY
@Deprecated public static final java.lang.String TYPE_CONVERTER_CONTEXT_KEY
Deprecated.- See Also:
- Constant Field Values
-
PROPERTY_KEY_PREFIX
private static final java.lang.String PROPERTY_KEY_PREFIX
- See Also:
- Constant Field Values
-
DEFAULT_TRACE_EVALUATIONS
private static boolean DEFAULT_TRACE_EVALUATIONS
-
DEFAULT_KEEP_LAST_EVALUATION
private static boolean DEFAULT_KEEP_LAST_EVALUATION
-
RESERVED_KEYS
private static final java.util.Map<java.lang.Object,java.lang.Object> RESERVED_KEYS
-
_root
private java.lang.Object _root
-
_currentObject
private java.lang.Object _currentObject
-
_currentNode
private Node _currentNode
-
_traceEvaluations
private boolean _traceEvaluations
-
_rootEvaluation
private Evaluation _rootEvaluation
-
_currentEvaluation
private Evaluation _currentEvaluation
-
_lastEvaluation
private Evaluation _lastEvaluation
-
_keepLastEvaluation
private boolean _keepLastEvaluation
-
_values
private final java.util.Map _values
-
_classResolver
private final ClassResolver _classResolver
-
_typeConverter
private final TypeConverter _typeConverter
-
_memberAccess
private final MemberAccess _memberAccess
-
_typeStack
private final java.util.List<java.lang.Class<?>> _typeStack
-
_accessorStack
private final java.util.List<java.lang.Class<?>> _accessorStack
-
_localReferenceCounter
private int _localReferenceCounter
-
_localReferenceMap
private java.util.Map<java.lang.String,LocalReference> _localReferenceMap
-
-
Constructor Detail
-
OgnlContext
public OgnlContext(ClassResolver classResolver, TypeConverter typeConverter, MemberAccess memberAccess)
Constructs a new OgnlContext with the given class resolver, type converter and member access. If any of these parameters is null the default will be used, except memberAccess which must be non-null.- Parameters:
classResolver- the ClassResolver for a new OgnlContext.typeConverter- the TypeConverter for a new OgnlContext.memberAccess- the MemberAccess for a new OgnlContext. Must be non-null.
-
OgnlContext
public OgnlContext(MemberAccess memberAccess, ClassResolver classResolver, TypeConverter typeConverter, java.util.Map values)
Constructs a new OgnlContext with the given member access, class resolver, type converter and values. If any of these parameters is null the default will be used, except memberAccess which must be non-null.- Parameters:
memberAccess- the MemberAccess for a new OgnlContext. Must be non-null.classResolver- the ClassResolver for a new OgnlContext.typeConverter- the TypeConverter for a new OgnlContext.values- the Map of values to provide for a new OgnlContext.
-
-
Method Detail
-
setValues
public void setValues(java.util.Map value)
Set (put) the provided value map content into the existing values Map for this OgnlContext.- Parameters:
value- a Map of additional values to put into this OgnlContext.
-
getValues
public java.util.Map getValues()
Get the values Map for this OgnlContext.- Returns:
- Map of values for this OgnlContext.
-
setClassResolver
@Deprecated public void setClassResolver(ClassResolver ignore)
Deprecated.
-
getClassResolver
public ClassResolver getClassResolver()
-
setTypeConverter
@Deprecated public void setTypeConverter(TypeConverter ignore)
Deprecated.
-
getTypeConverter
public TypeConverter getTypeConverter()
-
setMemberAccess
@Deprecated public void setMemberAccess(MemberAccess ignore)
Deprecated.
-
getMemberAccess
public MemberAccess getMemberAccess()
-
setRoot
public void setRoot(java.lang.Object value)
-
getRoot
public java.lang.Object getRoot()
-
getTraceEvaluations
public boolean getTraceEvaluations()
-
setTraceEvaluations
public void setTraceEvaluations(boolean value)
-
getLastEvaluation
public Evaluation getLastEvaluation()
-
setLastEvaluation
public void setLastEvaluation(Evaluation value)
-
recycleLastEvaluation
@Deprecated public void recycleLastEvaluation()
Deprecated.since 3.2This method can be called when the last evaluation has been used and can be returned for reuse in the free pool maintained by the runtime. This is not a necessary step, but is useful for keeping memory usage down. This will recycle the last evaluation and then set the last evaluation to null.
-
getKeepLastEvaluation
public boolean getKeepLastEvaluation()
Returns true if the last evaluation that was done on this context is retained and available throughgetLastEvaluation(). The default is true.- Returns:
- true if the last evaluation for this context is retained and available through
getLastEvaluation(), false otherwise.
-
setKeepLastEvaluation
public void setKeepLastEvaluation(boolean value)
Sets whether the last evaluation that was done on this context is retained and available throughgetLastEvaluation(). The default is true.- Parameters:
value- true if the last evaluation for this context should be retained and available throughgetLastEvaluation(), false otherwise.
-
setCurrentObject
public void setCurrentObject(java.lang.Object value)
-
getCurrentObject
public java.lang.Object getCurrentObject()
-
setCurrentAccessor
public void setCurrentAccessor(java.lang.Class type)
-
getCurrentAccessor
public java.lang.Class getCurrentAccessor()
-
getPreviousAccessor
public java.lang.Class getPreviousAccessor()
-
getFirstAccessor
public java.lang.Class getFirstAccessor()
-
getCurrentType
public java.lang.Class getCurrentType()
Gets the current class type being evaluated on the stack, as set bysetCurrentType(Class).- Returns:
- The current object type, may be null.
-
setCurrentType
public void setCurrentType(java.lang.Class type)
-
getPreviousType
public java.lang.Class getPreviousType()
Represents the last known object type on the evaluation stack, will be the value of the last knowngetCurrentType().- Returns:
- The previous type of object on the stack, may be null.
-
setPreviousType
public void setPreviousType(java.lang.Class type)
-
getFirstType
public java.lang.Class getFirstType()
-
setCurrentNode
public void setCurrentNode(Node value)
-
getCurrentNode
public Node getCurrentNode()
-
getCurrentEvaluation
public Evaluation getCurrentEvaluation()
Gets the current Evaluation from the top of the stack. This is the Evaluation that is in process of evaluating.- Returns:
- the current Evaluation from the top of the stack (being evaluated).
-
setCurrentEvaluation
public void setCurrentEvaluation(Evaluation value)
-
getRootEvaluation
public Evaluation getRootEvaluation()
Gets the root of the evaluation stack. This Evaluation contains the node representing the root expression and the source is the root source object.- Returns:
- the root Evaluation from the stack (the root expression node).
-
setRootEvaluation
public void setRootEvaluation(Evaluation value)
-
getEvaluation
public Evaluation getEvaluation(int relativeIndex)
Returns the Evaluation at the relative index given. This should be zero or a negative number as a relative reference back up the evaluation stack. Therefore getEvaluation(0) returns the current Evaluation.- Parameters:
relativeIndex- the relative index for the Evaluation to retrieve from the stack (with 0 being the current Evaluation). relativeIndex should be <= 0.- Returns:
- the Evaluation at relativeIndex, or null if relativeIndex is > 0.
-
pushEvaluation
public void pushEvaluation(Evaluation value)
Pushes a new Evaluation onto the stack. This is done before a node evaluates. When evaluation is complete it should be popped from the stack viapopEvaluation().- Parameters:
value- the Evaluation to push onto the stack.
-
popEvaluation
public Evaluation popEvaluation()
Pops the current Evaluation off of the top of the stack. This is done after a node has completed its evaluation.- Returns:
- the Evaluation popped from the top of the stack.
-
incrementLocalReferenceCounter
public int incrementLocalReferenceCounter()
-
addLocalReference
public void addLocalReference(java.lang.String key, LocalReference reference)
-
getLocalReferences
public java.util.Map getLocalReferences()
-
size
public int size()
- Specified by:
sizein interfacejava.util.Map
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Map
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKeyin interfacejava.util.Map
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValuein interfacejava.util.Map
-
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
getin interfacejava.util.Map
-
put
public java.lang.Object put(java.lang.Object key, java.lang.Object value)- Specified by:
putin interfacejava.util.Map
-
remove
public java.lang.Object remove(java.lang.Object key)
- Specified by:
removein interfacejava.util.Map
-
putAll
public void putAll(java.util.Map t)
- Specified by:
putAllin interfacejava.util.Map
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Map
-
keySet
public java.util.Set keySet()
- Specified by:
keySetin interfacejava.util.Map
-
values
public java.util.Collection values()
- Specified by:
valuesin interfacejava.util.Map
-
entrySet
public java.util.Set entrySet()
- Specified by:
entrySetin interfacejava.util.Map
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equalsin interfacejava.util.Map- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Map- Overrides:
hashCodein classjava.lang.Object
-
-