org.kuali.rice.krad.uif.util
Class ObjectPathExpressionParser

java.lang.Object
  extended by org.kuali.rice.krad.uif.util.ObjectPathExpressionParser

public class ObjectPathExpressionParser
extends Object

Provides modular support for the partial JSP EL path syntax using an arbitrary root bean as the initial name space.

NOTE: This is not full JSP EL, only the path reference portion without support for floating point literals. See this JSP Reference for the full BNF.

 Value ::= ValuePrefix (ValueSuffix)*
 ValuePrefix ::= Literal
     | NonLiteralValuePrefix
 NonLiteralValuePrefix ::= '(' Expression ')'
     | Identifier
 ValueSuffix ::= '.' Identifier
     | '[' Expression ']'
 Identifier ::= Java language identifier
 Literal ::= BooleanLiteral
     | IntegerLiteral
     | FloatingPointLiteral
     | StringLiteral
     | NullLiteral
 BooleanLiteral ::= 'true'
     | 'false'
 StringLiteral ::= '([^'\]|\'|\\)*'
     | "([^"\]|\"|\\)*"
   i.e., a string of any characters enclosed by
   single or double quotes, where \ is used to
   escape ', ",and \. It is possible to use single
   quotes within double quotes, and vice versa,
   without escaping.
 IntegerLiteral ::= ['0'-'9']+
 NullLiteral ::= 'null'
 

Author:
Kuali Rice Team (rice.collab@kuali.org)

Nested Class Summary
static interface ObjectPathExpressionParser.PathEntry
          Path entry interface for use with parsePathExpression(Object, String, PathEntry).
 
Method Summary
static Object parsePathExpression(Object root, String path, ObjectPathExpressionParser.PathEntry pathEntry)
          Parse a path expression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

parsePathExpression

public static Object parsePathExpression(Object root,
                                         String path,
                                         ObjectPathExpressionParser.PathEntry pathEntry)
Parse a path expression.

Type Parameters:
T - Reference type representing the next parse node.
S - The parse node type.
Parameters:
root - The root object.
path - The path expression.
pathEntry - The path entry adaptor to use for processing parse node transition.
Returns:
The valid of the bean property indicated by the given path expression, null if the path expression doesn't resolve to a valid property.
See Also:
ObjectPathExpressionParser#getPropertyValue(Object, String)


Copyright © 2005-2013 The Kuali Foundation. All Rights Reserved.