|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.opensymphony.xwork.util.OgnlUtil
public class OgnlUtil
Utility class that provides common access to the Ognl APIs for setting and getting properties from objects (usually Actions). Ognl by default uses expression parsing for expression evaluation. However starting from Ognl 2.7.1, Ognl is capable of doing expression compilation using Javassist for expression evaluation. WebWork 2.2.7 / XWork1.2.4 and above support this functionality, however it is turn off by default to preserved backwards compatibilities. To turn it on, we need to use the following Doctype :-
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.2//EN" "http://www.opensymphony.com/xwork/xwork-1.1.2.dtd">And also declare a parameter "useOgnlEnhancement" with value "true" in xwork.xml as follows.
<xwork> <parameters> <!-- enable OGNL expression compilation feature --> <parameter name="useOgnlEnhancement" value="true" /> ... </parameters> ... </xwork>NOTE: Do take note that parameters declared in xwork.xml or its included files will override where the latter takes precedence. For example if we have a parameter declared in xwork.xml and one in xwork-include1.xml which is included through xwork.xml, the parameter declared in xwork-include1.xml will override the one declared in xwork.xml. In other words the parameter declared in xwork-include1.xml takes precedence.
Constructor Summary | |
---|---|
OgnlUtil()
|
Method Summary | |
---|---|
static Object |
compile(String expression)
Parse an ognl expression specified as expression , cache the parsed result for
better response next round. |
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 void |
copy(Object from,
Object to,
Map context,
Collection exclusions,
Collection inclusions)
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 BeanInfo |
getBeanInfo(Object from)
Get's the java bean info for the given source. |
static Map |
getBeanMap(Object source)
Creates a Map with read properties for the given source object. |
static PropertyDescriptor[] |
getPropertyDescriptors(Object source)
Get's the java beans property descriptors for the given source. |
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 Object |
getValue(String name,
Map context,
Object root)
Wrapper to use OGNL to get the property on target root based on the OGNL expression
expression encapsulating if the expression were to be parsed or compiled depending on
isUseOgnlEnhancement() . |
static Object |
getValue(String name,
Map context,
Object root,
Class resultType)
|
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 to use OGNL to set the property on target root based on
OGNL expression name with the value as value , encapsulating if the
expression were to be parsed or compiled depending on isUseOgnlEnhancement() . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public OgnlUtil()
Method Detail |
---|
public static void setProperties(Map props, Object o, Map context)
props
- the properties being seto
- the objectcontext
- the action contextpublic static void setProperties(Map props, Object o, Map context, boolean throwPropertyExceptions)
props
- the properties being seto
- the objectcontext
- the action contextthrowPropertyExceptions
- boolean which tells whether it should throw exceptions for
problems setting the propertiespublic static void setProperties(Map properties, Object o)
properties
- o
- public static void setProperties(Map properties, Object o, boolean throwPropertyExceptions)
properties
- the property map to set on the objecto
- the object to set the properties intothrowPropertyExceptions
- boolean which tells whether it should throw exceptions for
problems setting the propertiespublic static void setProperty(String name, Object value, Object o, Map context)
name
- the name of the property to be setvalue
- the value to set into the named propertyo
- the object upon which to set the propertycontext
- the context which may include the TypeConverterpublic static void setProperty(String name, Object value, Object o, Map context, boolean throwPropertyExceptions)
name
- the name of the property to be setvalue
- the value to set into the named propertyo
- the object upon which to set the propertycontext
- the context which may include the TypeConverterthrowPropertyExceptions
- boolean which tells whether it should throw exceptions for
problems setting the propertypublic static Object getRealTarget(String property, Map context, Object root) throws ognl.OgnlException
ognl.OgnlException
public static void setValue(String name, Map context, Object root, Object value) throws ognl.OgnlException
root
based on
OGNL expression name
with the value as value
, encapsulating if the
expression were to be parsed or compiled depending on isUseOgnlEnhancement()
.
name
- context
- root
- value
-
ognl.OgnlException
public static Object getValue(String name, Map context, Object root) throws ognl.OgnlException
root
based on the OGNL expression
expression
encapsulating if the expression were to be parsed or compiled depending on
isUseOgnlEnhancement()
.
name
- context
- root
-
ognl.OgnlException
public static Object getValue(String name, Map context, Object root, Class resultType) throws ognl.OgnlException
ognl.OgnlException
public static Object compile(String expression) throws ognl.OgnlException
expression
, cache the parsed result for
better response next round.
expression
-
ognl.OgnlException
public static void copy(Object from, Object to, Map context, Collection exclusions, Collection inclusions)
XWorkConverter
if none
is specified.
from
- the source objectto
- the target objectcontext
- the action context we're running underexclusions
- collection of method names to excluded from copying ( can be null)inclusions
- collection of method names to included copying (can be null)
note if exclusions AND inclusions are supplied and not null nothing will get copied.public static void copy(Object from, Object to, Map context)
XWorkConverter
if none
is specified.
from
- the source objectto
- the target objectcontext
- the action context we're running underpublic static PropertyDescriptor[] getPropertyDescriptors(Object source) throws IntrospectionException
source
- the source object.
IntrospectionException
- is thrown if an exception occurs during introspection.public static Map getBeanMap(Object source) throws IntrospectionException, ognl.OgnlException
here is no read method for property-name
.
source
- the source object.
IntrospectionException
- is thrown if an exception occurs during introspection.
ognl.OgnlException
- is thrown by OGNL if the property value could not be retrievedpublic static BeanInfo getBeanInfo(Object from) throws IntrospectionException
from
- the source object.
IntrospectionException
- is thrown if an exception occurs during introspection.
|
WebWork Project Page | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |