Class DefaultResolver
- java.lang.Object
-
- org.apache.commons.beanutils.expression.DefaultResolver
-
- All Implemented Interfaces:
Resolver
public class DefaultResolver extends java.lang.Object implements Resolver
Default Property Name ExpressionResolver
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 specifiedname
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 aBeanInfo
class, a property named "xyz" will have a getter method namedgetXyz()
or (for boolean properties only)isXyz()
, and a setter method namedsetXyz()
. - 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 namedname2
, 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 theList
- Mapped (
name(key)
) - The JavaBean is assumed to have an property getter and setter methods with an additional attribute of typejava.lang.String
. - Combined (
name1.name2[index].name3(key)
) - Combining mapped, nested, and indexed references is also supported.
- Since:
- 1.8.0
- Version:
- $Id$
-
-
Constructor Summary
Constructors Constructor Description DefaultResolver()
Default Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getIndex(java.lang.String expression)
Return the index value from the property expression or -1.java.lang.String
getKey(java.lang.String expression)
Return the map key from the property expression ornull
.java.lang.String
getProperty(java.lang.String expression)
Return the property name from the property expression.boolean
hasNested(java.lang.String expression)
Indicates whether or not the expression contains nested property expressions or not.boolean
isIndexed(java.lang.String expression)
Indicate whether the expression is for an indexed property or not.boolean
isMapped(java.lang.String expression)
Indicate whether the expression is for a mapped property or not.java.lang.String
next(java.lang.String expression)
Extract the next property expression from the current expression.java.lang.String
remove(java.lang.String expression)
Remove the last property expresson from the current expression.
-
-
-
Method Detail
-
getIndex
public int getIndex(java.lang.String expression)
Return the index value from the property expression or -1.
-
getKey
public java.lang.String getKey(java.lang.String expression)
Return the map key from the property expression ornull
.
-
getProperty
public java.lang.String getProperty(java.lang.String expression)
Return the property name from the property expression.- Specified by:
getProperty
in interfaceResolver
- Parameters:
expression
- The property expression- Returns:
- The property name
-
hasNested
public boolean hasNested(java.lang.String expression)
Indicates whether or not the expression contains nested property expressions or not.
-
isIndexed
public boolean isIndexed(java.lang.String expression)
Indicate whether the expression is for an indexed property or not.
-
isMapped
public boolean isMapped(java.lang.String expression)
Indicate whether the expression is for a mapped property or not.
-
next
public java.lang.String next(java.lang.String expression)
Extract the next property expression from the current expression.
-
remove
public java.lang.String remove(java.lang.String expression)
Remove the last property expresson from the current expression.
-
-