Class DefaultResolver
java.lang.Object
org.apache.commons.beanutils2.expression.DefaultResolver
- All Implemented Interfaces:
- Resolver
Default Property Name Expression 
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 specifiednameidentifies an individual property of a particular JavaBean. The name of the actual getter or setter method to be used is determined using standard JavaBeans introspection, so that (unless overridden by aBeanInfoclass, 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.Listobjects 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 typeString.
- Combined (name1.name2[index].name3(key)) - Combining mapped, nested, and indexed references is also supported.
- Since:
- 1.8.0
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionintGets the index value from the property expression or -1.Gets the map key from the property expression ornull.getProperty(String expression) Gets the property name from the property expression.booleanIndicates whether or not the expression contains nested property expressions or not.booleanIndicate whether the expression is for an indexed property or not.booleanIndicate whether the expression is for a mapped property or not.Extract the next property expression from the current expression.Remove the last property expression from the current expression.
- 
Constructor Details- 
DefaultResolverpublic DefaultResolver()Constructs a new instance.
 
- 
- 
Method Details- 
getIndexGets the index value from the property expression or -1.- Specified by:
- getIndexin interface- Resolver
- 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.
 
- 
getKeyGets the map key from the property expression ornull.- Specified by:
- getKeyin interface- Resolver
- Parameters:
- expression- The property expression
- Returns:
- The index value
- Throws:
- IllegalArgumentException- If the mapped property is illegally formed.
 
- 
getPropertyGets the property name from the property expression.- Specified by:
- getPropertyin interface- Resolver
- Parameters:
- expression- The property expression
- Returns:
- The property name
 
- 
hasNestedIndicates whether or not the expression contains nested property expressions or not.
- 
isIndexedIndicate whether the expression is for an indexed property or not.
- 
isMappedIndicate whether the expression is for a mapped property or not.
- 
nextExtract the next property expression from the current expression.
- 
removeRemove the last property expression from the current expression.
 
-