Package org.apache.struts2.util
Interface ValueStack
- All Known Implementing Classes:
OgnlValueStack
public interface ValueStack
ValueStack allows multiple beans to be pushed in and dynamic EL 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).
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionfindString
(String expr) findString
(String expr, boolean throwExceptionOnFailure) Find a value by evaluating the given expression against the stack in the default search order.Find a value by evaluating the given expression against the stack in the default search order.Gets the context for this value stack.Gets the override map if anyone exists.getRoot()
Get the CompoundRoot which holds the objects pushed onto the stackpeek()
Get the object on the top of the stack without changing the stack.pop()
Get the object on the top of the stack and remove it from the stack.void
Put this object onto the top of the stackvoid
Sets an object on the stack with the given key so it is retrievable byfindValue(String)
,findValue(String, Class)
void
setDefaultType
(Class defaultType) Sets the default type to convert to if no type is provided when getting a value.void
setExprOverrides
(Map<Object, Object> overrides) Set a override map containingkey -> values
that takes precedent when doing find operations on the ValueStack.void
setParameter
(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
Attempts to set a property on a bean in the stack with the given expression using the default search order.void
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
-
Field Details
-
VALUE_STACK
- See Also:
-
REPORT_ERRORS_ON_NO_PROP
- See Also:
-
-
Method Details
-
getContext
Gets the context for this value stack. The context holds all the information in the value stack and it's surroundings.- Returns:
- the context.
-
getActionContext
ActionContext getActionContext() -
setDefaultType
Sets the default type to convert to if no type is provided when getting a value.- Parameters:
defaultType
- the new default type
-
setExprOverrides
Set a override map containingkey -> values
that takes precedent when doing find operations on the ValueStack.See the unit test for ValueStackTest for examples.
- Parameters:
overrides
- overrides map.
-
getExprOverrides
Gets the override map if anyone exists.- Returns:
- the override map, null if not set.
-
getRoot
CompoundRoot getRoot()Get the CompoundRoot which holds the objects pushed onto the stack- Returns:
- the root
-
setValue
Attempts to set a property on a bean in the stack with the given expression using the default search order.- Parameters:
expr
- the expression defining the path to the property to be set.value
- the value to be set into the named property
-
setParameter
Attempts to set a property on a bean in the stack with the given expression using the default search order. N.B.: unlike #setValue(String,Object) it doesn't allow eval expression.- Parameters:
expr
- the expression defining the path to the property to be set.value
- the value to be set into the named property
-
setValue
Attempts to set a property on a bean in the stack with the given expression using the default search order.- Parameters:
expr
- the expression defining the path to the property to be set.value
- the value to be set into the named propertythrowExceptionOnFailure
- a flag to tell whether an exception should be thrown if there is no property with the given name.
-
findString
-
findString
-
findValue
Find a value by evaluating the given expression against the stack in the default search order.- Parameters:
expr
- the expression giving the path of properties to navigate to find the property value to return- Returns:
- the result of evaluating the expression
-
findValue
-
findValue
Find a value by evaluating the given expression against the stack in the default search order.- Parameters:
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- Returns:
- the result of evaluating the expression
-
findValue
-
peek
Object peek()Get the object on the top of the stack without changing the stack.- Returns:
- the object on the top.
- See Also:
-
pop
Object pop()Get the object on the top of the stack and remove it from the stack.- Returns:
- the object on the top of the stack
- See Also:
-
push
Put this object onto the top of the stack- Parameters:
o
- the object to be pushed onto the stack- See Also:
-
set
Sets an object on the stack with the given key so it is retrievable byfindValue(String)
,findValue(String, Class)
- Parameters:
key
- the keyo
- the object
-
size
int size()Get the number of objects in the stack- Returns:
- the number of objects in the stack
-