Class ReflectionValueExtractor
java.lang.Object
org.codehaus.plexus.util.introspection.ReflectionValueExtractor
Using simple dotted expressions to extract the values from an Object instance, For example we might want to extract a
value like: project.build.sourceDirectory
The implementation supports indexed, nested and mapped properties similar to the JSP way.
- Author:
- Jason van Zyl , Vincent Siveton
- See Also:
-
Method Details
-
evaluate
The implementation supports indexed, nested and mapped properties.
- nested properties should be defined by a dot, i.e. "user.address.street"
- indexed properties (java.util.List or array instance) should be contains
(\\w+)\\[(\\d+)\\]
pattern, i.e. "user.addresses[1].street" - mapped properties should be contains
(\\w+)\\((.+)\\)
pattern, i.e. "user.addresses(myAddress).street"
- Parameters:
expression
- not null expressionroot
- not null object- Returns:
- the object defined by the expression
- Throws:
Exception
- if any
-
evaluate
public static Object evaluate(String expression, Object root, boolean trimRootToken) throws Exception The implementation supports indexed, nested and mapped properties.
- nested properties should be defined by a dot, i.e. "user.address.street"
- indexed properties (java.util.List or array instance) should be contains
(\\w+)\\[(\\d+)\\]
pattern, i.e. "user.addresses[1].street" - mapped properties should be contains
(\\w+)\\((.+)\\)
pattern, i.e. "user.addresses(myAddress).street"
- Parameters:
expression
- not null expressionroot
- not null objecttrimRootToken
- root start- Returns:
- the object defined by the expression
- Throws:
Exception
- if any
-