Class ReflectionValueExtractor
- java.lang.Object
-
- org.apache.maven.shared.utils.introspection.ReflectionValueExtractor
-
public class ReflectionValueExtractor extends java.lang.ObjectUsing simple dotted expressions to extract the values from an Object instance, For example we might want to extract a value like:
project.build.sourceDirectoryThe implementation supports indexed, nested and mapped properties similar to the JSP way.
- Author:
- Jason van Zyl , Vincent Siveton
- See Also:
- http://struts.apache.org/1.x/struts-taglib/indexedprops.html
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Objectevaluate(java.lang.String expression, java.lang.Object root)The implementation supports indexed, nested and mapped properties.static java.lang.Objectevaluate(java.lang.String expression, java.lang.Object root, boolean trimRootToken)The implementation supports indexed, nested and mapped properties.
-
-
-
Method Detail
-
evaluate
public static java.lang.Object evaluate(@Nonnull java.lang.String expression, @Nullable java.lang.Object root) throws org.apache.maven.shared.utils.introspection.IntrospectionExceptionThe 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:
org.apache.maven.shared.utils.introspection.IntrospectionException- if any
-
evaluate
public static java.lang.Object evaluate(@Nonnull java.lang.String expression, @Nullable java.lang.Object root, boolean trimRootToken) throws org.apache.maven.shared.utils.introspection.IntrospectionExceptionThe 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 root token yes/no.- Returns:
- the object defined by the expression
- Throws:
org.apache.maven.shared.utils.introspection.IntrospectionException- if any
-
-