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

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

public class ExpressionUtils
extends Object

Utility class for UIF expressions

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

Constructor Summary
ExpressionUtils()
           
 
Method Summary
static void adjustPropertyExpressions(View view, Object object)
           
static void evaluateCurrentStack(String stack, List<String> controlNames)
          Used internally by parseExpression to evalute if the current stack is a property name (ie, will be a control on the form)
protected static boolean moveNestedPropertyExpression(Object object, String propertyName, String expression)
           
static String parseExpression(String exp, List<String> controlNames)
          Takes in an expression and a list to be filled in with names(property names) of controls found in the expression.
protected static String processExpression(String expression, String pathPrefix)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpressionUtils

public ExpressionUtils()
Method Detail

adjustPropertyExpressions

public static void adjustPropertyExpressions(View view,
                                             Object object)
Parameters:
view -
object -

processExpression

protected static String processExpression(String expression,
                                          String pathPrefix)

moveNestedPropertyExpression

protected static boolean moveNestedPropertyExpression(Object object,
                                                      String propertyName,
                                                      String expression)

parseExpression

public static String parseExpression(String exp,
                                     List<String> controlNames)
Takes in an expression and a list to be filled in with names(property names) of controls found in the expression. This method returns a js expression which can be executed on the client to determine if the original exp was satisfied before interacting with the server - ie, this js expression is equivalent to the one passed in. There are limitations on the Spring expression language that can be used as this method. It is only used to parse expressions which are valid case statements for determining if some action/processing should be performed. ONLY Properties, comparison operators, booleans, strings, matches expression, and boolean logic are supported. Properties must be a valid property on the form, and should have a visible control within the view. Example valid exp: account.name == 'Account Name'

Parameters:
exp -
controlNames -
Returns:

evaluateCurrentStack

public static void evaluateCurrentStack(String stack,
                                        List<String> controlNames)
Used internally by parseExpression to evalute if the current stack is a property name (ie, will be a control on the form)

Parameters:
stack -
controlNames -


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