org.codehaus.plexus.interpolation
Class ObjectBasedValueSource
java.lang.Object
org.codehaus.plexus.interpolation.AbstractValueSource
org.codehaus.plexus.interpolation.ObjectBasedValueSource
- All Implemented Interfaces:
- ValueSource
public class ObjectBasedValueSource
- extends AbstractValueSource
Wraps an object, providing reflective access to the object graph of which the
supplied object is the root. Expressions like 'child.name' will translate into
'rootObject.getChild().getName()' for non-boolean properties, and
'rootObject.getChild().isName()' for boolean properties.
- Version:
- $Id: ObjectBasedValueSource.java 8355 2009-08-21 16:10:28Z jdcasey $
Constructor Summary |
ObjectBasedValueSource(Object root)
Construct a new value source, using the supplied object as the root from
which to start, and using expressions split at the dot ('.') to navigate
the object graph beneath this root. |
Method Summary |
Object |
getValue(String expression)
Split the expression into parts, tokenized on the dot ('.') character. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ObjectBasedValueSource
public ObjectBasedValueSource(Object root)
- Construct a new value source, using the supplied object as the root from
which to start, and using expressions split at the dot ('.') to navigate
the object graph beneath this root.
getValue
public Object getValue(String expression)
- Split the expression into parts, tokenized on the dot ('.') character. Then,
starting at the root object contained in this value source, apply each part
to the object graph below this root, using either 'getXXX()' or 'isXXX()'
accessor types to resolve the value for each successive expression part.
Finally, return the result of the last expression part's resolution.
NOTE: The object-graph nagivation actually takes place via the
ReflectionValueExtractor
class.
- Returns:
- the value related to the expression, or null if not found.
Copyright © 2001-2011 Codehaus. All Rights Reserved.