|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.opensymphony.xwork2.util.OgnlValueStack
public class OgnlValueStack
Ognl implementation of a value stack that allows for dynamic Ognl expressions to be evaluated against it. When evaluating an expression, the stack will be searched down the stack, from the latest objects pushed in to the earliest, looking for a bean with a getter or setter for the given property or a method of the given name (depending on the expression being evaluated).
Nested Class Summary | |
---|---|
static class |
OgnlValueStack.ObjectAccessor
|
Field Summary | |
---|---|
private static CompoundRootAccessor |
accessor
|
private static boolean |
allowStaticMethodAccess
|
(package private) Map |
context
|
(package private) Class |
defaultType
|
private static boolean |
devMode
|
private static Log |
LOG
|
private static String |
MAP_IDENTIFIER_KEY
|
(package private) Map |
overrides
|
(package private) CompoundRoot |
root
|
private static long |
serialVersionUID
|
Fields inherited from interface com.opensymphony.xwork2.util.ValueStack |
---|
REPORT_ERRORS_ON_NO_PROP, VALUE_STACK |
Constructor Summary | |
---|---|
OgnlValueStack()
|
|
OgnlValueStack(ValueStack vs)
|
Method Summary | |
---|---|
private Object |
findInContext(String name)
|
String |
findString(String expr)
|
Object |
findValue(String expr)
Find a value by evaluating the given expression against the stack in the default search order. |
Object |
findValue(String expr,
Class asType)
Find a value by evaluating the given expression against the stack in the default search order. |
static CompoundRootAccessor |
getAccessor()
|
Map |
getContext()
|
Map |
getExprOverrides()
|
CompoundRoot |
getRoot()
Get the CompoundRoot which holds the objects pushed onto the stack |
static void |
link(Map context,
Class clazz,
String name)
|
private void |
logLookupFailure(String expr,
Exception e)
Log a failed lookup, being more verbose when devMode=true. |
Object |
peek()
Get the object on the top of the stack without changing the stack. |
Object |
pop()
Get the object on the top of the stack and remove it from the stack. |
void |
push(Object o)
Put this object onto the top of the stack |
private Object |
readResolve()
|
static void |
reset()
|
void |
set(String key,
Object o)
Sets an object on the stack with the given key so it is retrievable by findValue(key,...) |
static void |
setAllowStaticMethodAccess(boolean allowStaticMethodAccess)
|
void |
setDefaultType(Class defaultType)
Sets the default type to convert to if no type is provided when getting a value. |
static void |
setDevMode(String mode)
|
void |
setExprOverrides(Map overrides)
|
private void |
setRoot(CompoundRoot compoundRoot)
|
void |
setValue(String expr,
Object value)
Attempts to set a property on a bean in the stack with the given expression using the default search order. |
void |
setValue(String expr,
Object value,
boolean throwExceptionOnFailure)
Attempts to set a property on a bean in the stack with the given expression using the default search order. |
int |
size()
Get the number of objects in the stack s |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final long serialVersionUID
private static CompoundRootAccessor accessor
private static Log LOG
private static boolean devMode
private static boolean allowStaticMethodAccess
CompoundRoot root
transient Map context
Class defaultType
Map overrides
private static final String MAP_IDENTIFIER_KEY
Constructor Detail |
---|
public OgnlValueStack()
public OgnlValueStack(ValueStack vs)
Method Detail |
---|
public static void reset()
public static void link(Map context, Class clazz, String name)
public static CompoundRootAccessor getAccessor()
public static void setDevMode(String mode)
public static void setAllowStaticMethodAccess(boolean allowStaticMethodAccess)
public Map getContext()
getContext
in interface ValueStack
public void setDefaultType(Class defaultType)
ValueStack
setDefaultType
in interface ValueStack
public void setExprOverrides(Map overrides)
setExprOverrides
in interface ValueStack
public Map getExprOverrides()
getExprOverrides
in interface ValueStack
public CompoundRoot getRoot()
ValueStack
getRoot
in interface ValueStack
public void setValue(String expr, Object value)
ValueStack
setValue
in interface ValueStack
expr
- the expression defining the path to the property to be set.value
- the value to be set into the neamed propertypublic void setValue(String expr, Object value, boolean throwExceptionOnFailure)
ValueStack
setValue
in interface ValueStack
expr
- the expression defining the path to the property to be set.value
- the value to be set into the neamed propertythrowExceptionOnFailure
- a flag to tell whether an exception should be thrown if there is no property with
the given name.public String findString(String expr)
findString
in interface ValueStack
public Object findValue(String expr)
ValueStack
findValue
in interface ValueStack
expr
- the expression giving the path of properties to navigate to find the property value to return
public Object findValue(String expr, Class asType)
ValueStack
findValue
in interface ValueStack
expr
- the expression giving the path of properties to navigate to find the property value to returnasType
- the type to convert the return value to
private Object findInContext(String name)
private void logLookupFailure(String expr, Exception e)
expr
- The failed expressione
- The thrown exception.public Object peek()
ValueStack
peek
in interface ValueStack
CompoundRoot.peek()
public Object pop()
ValueStack
pop
in interface ValueStack
CompoundRoot.pop()
public void push(Object o)
ValueStack
push
in interface ValueStack
o
- the object to be pushed onto the stackCompoundRoot.push(Object)
public void set(String key, Object o)
ValueStack
set
in interface ValueStack
public int size()
ValueStack
size
in interface ValueStack
private void setRoot(CompoundRoot compoundRoot)
private Object readResolve()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |