Class ReflectionValueExtractor
java.lang.Object
org.codehaus.plexus.interpolation.reflection.ReflectionValueExtractor
NOTE: This class was copied from plexus-utils, to allow this library to stand completely self-contained.
Using simple dotted expressions extract the values from a MavenProject instance, For example we might want to extract a value like: project.build.sourceDirectory
- Author:
- Jason van Zyl
-
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
- trim the token or not.- Returns:
- the object defined by the expression
- Throws:
Exception
- if any
-