| |
|
| org.apache.commons.beanutils.expression.Resolver
All known Subclasses: org.apache.commons.beanutils.expression.DefaultResolver,
Resolver | public interface Resolver (Code) | | Property Name Expression Resolver.
Methods such as PropertyUtilsBean's setNestedProperty() method
use a Resolver to process a property name
expression and resolve nested, indexed and mapped
property names. The following code provides an example usage
demonstrating all the methods:
// Iterate through a nested property expression
while (resolver.hasNested(name)) {
// isolate a single property from a nested expresion
String next = resolver.next(name);
// Process...
String property = resolver.getProperty(next);
if (resolver.isIndexed(next)) {
int index = resolver.getIndex(next);
bean = getIndexedProperty(bean, property, index);
} else if (resolver.isMapped(next)) {
String key = resolver.getKey(next);
bean = getMappedProperty(bean, property, key);
} else {
bean = getSimpleProperty(bean, property);
}
// remove the processed property from the expression
name = resolver.remove(name);
}
In order to create an implementation, it is important to understand how
BeanUtils/PropertyUtils uses the resolver . The following are
the main methods that use it:
version: $Revision: 555845 $ $Date: 2007-07-13 03:52:05 +0100 (Fri, 13 Jul 2007) $ See Also: org.apache.commons.beanutils.PropertyUtilsBean.setResolver(Resolver) since: 1.8.0 |
Method Summary | |
int | getIndex(String expression) Extract the index value from the property expression or -1. | String | getKey(String expression) Extract 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. |
getIndex | int getIndex(String expression)(Code) | | Extract the index value from the property expression or -1.
Parameters: expression - The property expression The index value or -1 if the property is not indexed throws: IllegalArgumentException - If the indexed property is illegallyformed or has an invalid (non-numeric) value |
getKey | String getKey(String expression)(Code) | | Extract the map key from the property expression or null .
Parameters: expression - The property expression The index value throws: IllegalArgumentException - If the mapped property is illegally formed |
getProperty | String getProperty(String expression)(Code) | | Return the property name from the property expression.
Parameters: expression - The property expression The property name |
hasNested | boolean hasNested(String expression)(Code) | | Indicates whether or not the expression
contains nested property expressions or not.
Parameters: expression - The property expression The next property expression |
isIndexed | boolean isIndexed(String expression)(Code) | | Indicate whether the expression is for an indexed property or not.
Parameters: expression - The property expression true if the expresion is indexed,otherwise false |
isMapped | boolean isMapped(String expression)(Code) | | Indicate whether the expression is for a mapped property or not.
Parameters: expression - The property expression true if the expresion is mapped,otherwise false |
next | String next(String expression)(Code) | | Extract the next property expression from the
current expression.
Parameters: expression - The property expression The next property expression |
remove | String remove(String expression)(Code) | | Remove the last property expresson from the
current expression.
Parameters: expression - The property expression The new expression value, with first propertyexpression removed - null if there are no more expressions |
|
|
|