Default Property Name Expression {@link Resolver} Implementation.
This class assists in resolving property names in the following five formats, with the layout of an identifying String in parentheses:
- Simple (
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()
. - Nested (
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. - Indexed (
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 List
- Mapped (
name(key)
) - The JavaBean is assumed to have an property getter and setter methods with an additional attribute of type java.lang.String
. - Combined (
name1.name2[index].name3(key)
) - Combining mapped, nested, and indexed references is also supported.
@version $Revision: 473888 $ $Date: 2006-11-12 06:21:24 +0000 (Sun, 12 Nov 2006) $
@since 1.8.0