public class DefaultResolver extends java.lang.Object implements Resolver
Resolver
Implementation.
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 List
name(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.Modifier and Type | Field and Description |
---|---|
private static char |
INDEXED_END |
private static char |
INDEXED_START |
private static char |
MAPPED_END |
private static char |
MAPPED_START |
private static char |
NESTED |
Constructor and Description |
---|
DefaultResolver()
Default Constructor.
|
Modifier and Type | Method and 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 or
null . |
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.
|
private static final char NESTED
private static final char MAPPED_START
private static final char MAPPED_END
private static final char INDEXED_START
private static final char INDEXED_END
public int getIndex(java.lang.String expression)
public java.lang.String getKey(java.lang.String expression)
null
.public java.lang.String getProperty(java.lang.String expression)
getProperty
in interface Resolver
expression
- The property expressionpublic boolean hasNested(java.lang.String expression)
public boolean isIndexed(java.lang.String expression)
public boolean isMapped(java.lang.String expression)
public java.lang.String next(java.lang.String expression)
public java.lang.String remove(java.lang.String expression)
Copyright (c) 2000-2008 - Apache Software Foundation