Class ReflectionValueExtractor

    • Method Detail

      • evaluate

        public static Object evaluate​(String expression,
                                      Object root)
                               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 expression
        root - 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 expression
        root - not null object
        trimRootToken - root start
        Returns:
        the object defined by the expression
        Throws:
        Exception - if any