com.opensymphony.xwork.util
Class OgnlUtil

java.lang.Object
  extended bycom.opensymphony.xwork.util.OgnlUtil

public class OgnlUtil
extends Object

Utility class that provides common access to the Ognl APIs for setting and getting properties from objects (usually Actions).

Author:
Jason Carreira

Constructor Summary
OgnlUtil()
           
 
Method Summary
static Object compile(String expression)
           
static void copy(Object from, Object to, Map context)
          Copies the properties in the object "from" and sets them in the object "to" using specified type converter, or XWorkConverter if none is specified.
static Object getRealTarget(String property, Map context, Object root)
          Looks for the real target with the specified property given a root Object which may be a CompoundRoot.
static void setProperties(Map properties, Object o)
          Sets the properties on the object using the default context, defaulting to not throwing exceptions for problems setting the properties.
static void setProperties(Map properties, Object o, boolean throwPropertyExceptions)
          Sets the properties on the object using the default context.
static void setProperties(Map props, Object o, Map context)
          Sets the object's properties using the default type converter, defaulting to not throw exceptions for problems setting the properties.
static void setProperties(Map props, Object o, Map context, boolean throwPropertyExceptions)
          Sets the object's properties using the default type converter.
static void setProperty(String name, Object value, Object o, Map context)
          Sets the named property to the supplied value on the Object, defaults to not throwing property exceptions.
static void setProperty(String name, Object value, Object o, Map context, boolean throwPropertyExceptions)
          Sets the named property to the supplied value on the Object.
static void setValue(String name, Map context, Object root, Object value)
          Wrapper around Ognl.setValue() to handle type conversion for collection elements.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OgnlUtil

public OgnlUtil()
Method Detail

setProperties

public static void setProperties(Map props,
                                 Object o,
                                 Map context)
Sets the object's properties using the default type converter, defaulting to not throw exceptions for problems setting the properties.

Parameters:
props - the properties being set
o - the object
context - the action context

setProperties

public static void setProperties(Map props,
                                 Object o,
                                 Map context,
                                 boolean throwPropertyExceptions)
Sets the object's properties using the default type converter.

Parameters:
props - the properties being set
o - the object
context - the action context
throwPropertyExceptions - boolean which tells whether it should throw exceptions for problems setting the properties

setProperties

public static void setProperties(Map properties,
                                 Object o)
Sets the properties on the object using the default context, defaulting to not throwing exceptions for problems setting the properties.

Parameters:
properties -
o -

setProperties

public static void setProperties(Map properties,
                                 Object o,
                                 boolean throwPropertyExceptions)
Sets the properties on the object using the default context.

Parameters:
properties - the property map to set on the object
o - the object to set the properties into
throwPropertyExceptions - boolean which tells whether it should throw exceptions for problems setting the properties

setProperty

public static void setProperty(String name,
                               Object value,
                               Object o,
                               Map context)
Sets the named property to the supplied value on the Object, defaults to not throwing property exceptions.

Parameters:
name - the name of the property to be set
value - the value to set into the named property
o - the object upon which to set the property
context - the context which may include the TypeConverter

setProperty

public static void setProperty(String name,
                               Object value,
                               Object o,
                               Map context,
                               boolean throwPropertyExceptions)
Sets the named property to the supplied value on the Object.

Parameters:
name - the name of the property to be set
value - the value to set into the named property
o - the object upon which to set the property
context - the context which may include the TypeConverter
throwPropertyExceptions - boolean which tells whether it should throw exceptions for problems setting the property

getRealTarget

public static Object getRealTarget(String property,
                                   Map context,
                                   Object root)
                            throws ognl.OgnlException
Looks for the real target with the specified property given a root Object which may be a CompoundRoot.

Returns:
the real target or null if no object can be found with the specified property
Throws:
ognl.OgnlException

setValue

public static void setValue(String name,
                            Map context,
                            Object root,
                            Object value)
                     throws ognl.OgnlException
Wrapper around Ognl.setValue() to handle type conversion for collection elements. Ideally, this should be handled by OGNL directly.

Throws:
ognl.OgnlException

compile

public static Object compile(String expression)
                      throws ognl.OgnlException
Throws:
ognl.OgnlException

copy

public static void copy(Object from,
                        Object to,
                        Map context)
Copies the properties in the object "from" and sets them in the object "to" using specified type converter, or XWorkConverter if none is specified.

Parameters:
from - the source object
to - the target object
context - the action context we're running under

XWork Project Page