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.Map
This class defines the execution context for an OGNL expression- Author:
- Luke Blanshard (blanshlu@netscape.net), Drew Davidson (drew@ognl.org)
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CLASS_RESOLVER_CONTEXT_KEY
static java.lang.String
CONTEXT_CONTEXT_KEY
static ClassResolver
DEFAULT_CLASS_RESOLVER
static MemberAccess
DEFAULT_MEMBER_ACCESS
static TypeConverter
DEFAULT_TYPE_CONVERTER
static java.lang.String
KEEP_LAST_EVALUATION_CONTEXT_KEY
static java.lang.String
LAST_EVALUATION_CONTEXT_KEY
static java.lang.String
MEMBER_ACCESS_CONTEXT_KEY
static java.lang.String
ROOT_CONTEXT_KEY
static java.lang.String
THIS_CONTEXT_KEY
static java.lang.String
TRACE_EVALUATIONS_CONTEXT_KEY
static java.lang.String
TYPE_CONVERTER_CONTEXT_KEY
-
Constructor Summary
Constructors Constructor Description OgnlContext()
Constructs a new OgnlContext with the default class resolver, type converter and member access.OgnlContext(java.util.Map values)
OgnlContext(ClassResolver classResolver, TypeConverter typeConverter, MemberAccess memberAccess)
Constructs a new OgnlContext with the given class resolver, type converter and member access.OgnlContext(ClassResolver classResolver, TypeConverter typeConverter, MemberAccess memberAccess, java.util.Map values)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addLocalReference(java.lang.String key, LocalReference reference)
void
clear()
boolean
containsKey(java.lang.Object key)
boolean
containsValue(java.lang.Object value)
java.util.Set
entrySet()
boolean
equals(java.lang.Object o)
java.lang.Object
get(java.lang.Object key)
ClassResolver
getClassResolver()
java.lang.Class
getCurrentAccessor()
Evaluation
getCurrentEvaluation()
Gets the current Evaluation from the top of the stack.Node
getCurrentNode()
java.lang.Object
getCurrentObject()
java.lang.Class
getCurrentType()
Gets the current class type being evaluated on the stack, as set bysetCurrentType(Class)
.Evaluation
getEvaluation(int relativeIndex)
Returns the Evaluation at the relative index given.java.lang.Class
getFirstAccessor()
java.lang.Class
getFirstType()
boolean
getKeepLastEvaluation()
Returns true if the last evaluation that was done on this context is retained and available throughgetLastEvaluation()
.Evaluation
getLastEvaluation()
java.util.Map
getLocalReferences()
MemberAccess
getMemberAccess()
java.lang.Class
getPreviousAccessor()
java.lang.Class
getPreviousType()
Represents the last known object type on the evaluation stack, will be the value of the last knowngetCurrentType()
.java.lang.Object
getRoot()
Evaluation
getRootEvaluation()
Gets the root of the evaluation stack.boolean
getTraceEvaluations()
TypeConverter
getTypeConverter()
java.util.Map
getValues()
int
hashCode()
int
incrementLocalReferenceCounter()
boolean
isEmpty()
java.util.Set
keySet()
Evaluation
popEvaluation()
Pops the current Evaluation off of the top of the stack.void
pushEvaluation(Evaluation value)
Pushes a new Evaluation onto the stack.java.lang.Object
put(java.lang.Object key, java.lang.Object value)
void
putAll(java.util.Map t)
void
recycleLastEvaluation()
This 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.java.lang.Object
remove(java.lang.Object key)
void
setClassResolver(ClassResolver value)
void
setCurrentAccessor(java.lang.Class type)
void
setCurrentEvaluation(Evaluation value)
void
setCurrentNode(Node value)
void
setCurrentObject(java.lang.Object value)
void
setCurrentType(java.lang.Class type)
void
setKeepLastEvaluation(boolean value)
Sets whether the last evaluation that was done on this context is retained and available throughgetLastEvaluation()
.void
setLastEvaluation(Evaluation value)
void
setMemberAccess(MemberAccess value)
void
setPreviousType(java.lang.Class type)
void
setRoot(java.lang.Object value)
void
setRootEvaluation(Evaluation value)
void
setTraceEvaluations(boolean value)
void
setTypeConverter(TypeConverter value)
void
setValues(java.util.Map value)
int
size()
java.util.Collection
values()
-
-
-
Field Detail
-
CONTEXT_CONTEXT_KEY
public static final java.lang.String CONTEXT_CONTEXT_KEY
- See Also:
- Constant Field Values
-
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
-
CLASS_RESOLVER_CONTEXT_KEY
public static final java.lang.String CLASS_RESOLVER_CONTEXT_KEY
- See Also:
- Constant Field Values
-
TYPE_CONVERTER_CONTEXT_KEY
public static final java.lang.String TYPE_CONVERTER_CONTEXT_KEY
- See Also:
- Constant Field Values
-
MEMBER_ACCESS_CONTEXT_KEY
public static final java.lang.String MEMBER_ACCESS_CONTEXT_KEY
- See Also:
- Constant Field Values
-
DEFAULT_CLASS_RESOLVER
public static final ClassResolver DEFAULT_CLASS_RESOLVER
-
DEFAULT_TYPE_CONVERTER
public static final TypeConverter DEFAULT_TYPE_CONVERTER
-
DEFAULT_MEMBER_ACCESS
public static final MemberAccess DEFAULT_MEMBER_ACCESS
-
-
Constructor Detail
-
OgnlContext
public OgnlContext()
Constructs a new OgnlContext with the default class resolver, type converter and member access.
-
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.
-
OgnlContext
public OgnlContext(java.util.Map values)
-
OgnlContext
public OgnlContext(ClassResolver classResolver, TypeConverter typeConverter, MemberAccess memberAccess, java.util.Map values)
-
-
Method Detail
-
setValues
public void setValues(java.util.Map value)
-
getValues
public java.util.Map getValues()
-
setClassResolver
public void setClassResolver(ClassResolver value)
-
getClassResolver
public ClassResolver getClassResolver()
-
setTypeConverter
public void setTypeConverter(TypeConverter value)
-
getTypeConverter
public TypeConverter getTypeConverter()
-
setMemberAccess
public void setMemberAccess(MemberAccess value)
-
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
public void recycleLastEvaluation()
This 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.
-
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.
-
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.
-
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.
-
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.
-
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()
.
-
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.
-
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:
size
in interfacejava.util.Map
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfacejava.util.Map
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey
in interfacejava.util.Map
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue
in interfacejava.util.Map
-
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
get
in interfacejava.util.Map
-
put
public java.lang.Object put(java.lang.Object key, java.lang.Object value)
- Specified by:
put
in interfacejava.util.Map
-
remove
public java.lang.Object remove(java.lang.Object key)
- Specified by:
remove
in interfacejava.util.Map
-
putAll
public void putAll(java.util.Map t)
- Specified by:
putAll
in interfacejava.util.Map
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Map
-
keySet
public java.util.Set keySet()
- Specified by:
keySet
in interfacejava.util.Map
-
values
public java.util.Collection values()
- Specified by:
values
in interfacejava.util.Map
-
entrySet
public java.util.Set entrySet()
- Specified by:
entrySet
in interfacejava.util.Map
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in interfacejava.util.Map
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejava.util.Map
- Overrides:
hashCode
in classjava.lang.Object
-
-