org.apache.commons.beanutils.expression
public class DefaultResolver extends Object implements Resolver
This class assists in resolving property names in the following five formats, with the layout of an identifying String in parentheses:
name) - The specified
name identifies an individual property of a particular
JavaBean. The name of the actual getter or setter method to be used
is determined using standard JavaBeans instrospection, so that (unless
overridden by a BeanInfo class, a property named "xyz"
will have a getter method named getXyz() or (for boolean
properties only) isXyz(), and a setter method named
setXyz().name1.name2.name3) The first
name element is used to select a property getter, as for simple
references above. The object returned for this property is then
consulted, using the same approach, for a property getter for a
property named name2, and so on. The property value that
is ultimately retrieved or modified is the one identified by the
last name element.name[index]) - The underlying
property value is assumed to be an array, or this JavaBean is assumed
to have indexed property getter and setter methods. The appropriate
(zero-relative) entry in the array is selected. List
objects are now also supported for read/write. You simply need to define
a getter that returns the Listname(key)) - The JavaBean
is assumed to have an property getter and setter methods with an
additional attribute of type java.lang.String.name1.name2[index].name3(key)) -
Combining mapped, nested, and indexed references is also
supported.Since: 1.8.0
Version: $Revision: 473888 $ $Date: 2006-11-12 06:21:24 +0000 (Sun, 12 Nov 2006) $
| Constructor Summary | |
|---|---|
| DefaultResolver()
Default Constructor. | |
| Method Summary | |
|---|---|
| int | getIndex(String expression)
Return the index value from the property expression or -1.
|
| String | getKey(String expression)
Return the map key from the property expression or null.
|
| String | getProperty(String expression)
Return the property name from the property expression.
|
| boolean | hasNested(String expression)
Indicates whether or not the expression
contains nested property expressions or not.
|
| boolean | isIndexed(String expression)
Indicate whether the expression is for an indexed property or not.
|
| boolean | isMapped(String expression)
Indicate whether the expression is for a mapped property or not.
|
| String | next(String expression)
Extract the next property expression from the
current expression.
|
| String | remove(String expression)
Remove the last property expresson from the
current expression.
|
Parameters: expression The property expression
Returns: The index value or -1 if the property is not indexed
Throws: IllegalArgumentException If the indexed property is illegally formed or has an invalid (non-numeric) value.
null.
Parameters: expression The property expression
Returns: The index value
Throws: IllegalArgumentException If the mapped property is illegally formed.
Parameters: expression The property expression
Returns: The property name
Parameters: expression The property expression
Returns: The next property expression
Parameters: expression The property expression
Returns: true if the expresion is indexed,
otherwise false
Parameters: expression The property expression
Returns: true if the expresion is mapped,
otherwise false
Parameters: expression The property expression
Returns: The next property expression
Parameters: expression The property expression
Returns: The new expression value, with first property expression removed - null if there are no more expressions