Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.opensymphony.xwork2.util
Class OgnlValueStack

    java.lang.Object
      com.opensymphony.xwork2.util.OgnlValueStack

All Implemented Interfaces:
  ValueStack, Serializable

    public class OgnlValueStack

extends Object
implements Serializable, ValueStack

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).

Version:
  $Date: 2006-11-17 20:46:06 +0100 (Fr, 17 Nov 2006) $ $Id: OgnlValueStack.java 1216 2006-11-17 19:46:06Z jmitchell $
Author:
  Patrick Lightbody, tm_jee
See Also:
  Serialized Form

Nested Class Summary
`static class` | `OgnlValueStack.ObjectAccessor`

Field Summary
`private static CompoundRootAccessor` | `accessor`
`(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,...)
`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

### serialVersionUID

    private static final long serialVersionUID

See Also:
  Constant Field Values

### accessor

    private static CompoundRootAccessor accessor

### LOG

    private static Log LOG

### devMode

    private static boolean devMode

### root

    CompoundRoot root

### context

    transient Map context

### defaultType

    Class defaultType

### overrides

    Map overrides

### MAP_IDENTIFIER_KEY

    private static final String MAP_IDENTIFIER_KEY

See Also:
  Constant Field Values

Constructor Detail

### OgnlValueStack

    public OgnlValueStack()

### OgnlValueStack

    public OgnlValueStack(ValueStack vs)

Method Detail

### reset

    public static void reset()

### link

    public static void link(Map context,
                            Class clazz,
                            String name)

### getAccessor

    public static CompoundRootAccessor getAccessor()

### setDevMode

    public static void setDevMode(String mode)

### getContext

    public Map getContext()

  Specified by:
    `getContext` in interface `ValueStack`

### setDefaultType

    public void setDefaultType(Class defaultType)

  Description copied from interface: `ValueStack`
  Sets the default type to convert to if no type is provided when getting a value.

  Specified by:
    `setDefaultType` in interface `ValueStack`

### setExprOverrides

    public void setExprOverrides(Map overrides)

  Specified by:
    `setExprOverrides` in interface `ValueStack`

### getExprOverrides

    public Map getExprOverrides()

  Specified by:
    `getExprOverrides` in interface `ValueStack`

### getRoot

    public CompoundRoot getRoot()

  Description copied from interface: `ValueStack`
  Get the CompoundRoot which holds the objects pushed onto the stack

  Specified by:
    `getRoot` in interface `ValueStack`

### setValue

    public void setValue(String expr,
                         Object value)

  Description copied from interface: `ValueStack`
  Attempts to set a property on a bean in the stack with the given expression using the default search order.

  Specified by:
    `setValue` in interface `ValueStack`
  Parameters:
    `expr` - the expression defining the path to the property to be set.
    `value` - the value to be set into the neamed property

### setValue

    public void setValue(String expr,
                         Object value,
                         boolean throwExceptionOnFailure)

  Description copied from interface: `ValueStack`
  Attempts to set a property on a bean in the stack with the given expression using the default search order.

  Specified by:
    `setValue` in interface `ValueStack`
  Parameters:
    `expr` - the expression defining the path to the property to be set.
    `value` - the value to be set into the neamed property
    `throwExceptionOnFailure` - a flag to tell whether an exception should be thrown if there is no property with the given name.

### findString

    public String findString(String expr)

  Specified by:
    `findString` in interface `ValueStack`

### findValue

    public Object findValue(String expr)

  Description copied from interface: `ValueStack`
  Find a value by evaluating the given expression against the stack in the default search order.

  Specified by:
    `findValue` in interface `ValueStack`
  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

    public Object findValue(String expr,
                            Class asType)

  Description copied from interface: `ValueStack`
  Find a value by evaluating the given expression against the stack in the default search order.

  Specified by:
    `findValue` in interface `ValueStack`
  Parameters:
    `expr` - the expression giving the path of properties to navigate to find the property value to return
    `asType` - the type to convert the return value to
  Returns:
    the result of evaluating the expression

### findInContext

    private Object findInContext(String name)

### logLookupFailure

    private void logLookupFailure(String expr,
                                  Exception e)

  Log a failed lookup, being more verbose when devMode=true.

  Parameters:
    `expr` - The failed expression
    `e` - The thrown exception.

### peek

    public Object peek()

  Description copied from interface: `ValueStack`
  Get the object on the top of the stack without changing the stack.

  Specified by:
    `peek` in interface `ValueStack`
  See Also:
    `CompoundRoot.peek()`

### pop

    public Object pop()

  Description copied from interface: `ValueStack`
  Get the object on the top of the stack and remove it from the stack.

  Specified by:
    `pop` in interface `ValueStack`
  Returns:
    the object on the top of the stack
  See Also:
    `CompoundRoot.pop()`

### push

    public void push(Object o)

  Description copied from interface: `ValueStack`
  Put this object onto the top of the stack

  Specified by:
    `push` in interface `ValueStack`
  Parameters:
    `o` - the object to be pushed onto the stack
  See Also:
    `CompoundRoot.push(Object)`

### set

    public void set(String key,
                    Object o)

  Description copied from interface: `ValueStack`
  Sets an object on the stack with the given key so it is retrievable by findValue(key,...)

  Specified by:
    `set` in interface `ValueStack`

### size

    public int size()

  Description copied from interface: `ValueStack`
  Get the number of objects in the stack s

  Specified by:
    `size` in interface `ValueStack`
  Returns:
    the number of objects in the stack

### setRoot

    private void setRoot(CompoundRoot compoundRoot)

### readResolve

    private Object readResolve()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.