Author: markt Date: Wed Jul 3 13:37:05 2013 New Revision: 1499396 URL: http://svn.apache.org/r1499396 Log: EL 3.0 Implement new methods
Modified: tomcat/trunk/java/javax/el/ELContext.java Modified: tomcat/trunk/java/javax/el/ELContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/ELContext.java?rev=1499396&r1=1499395&r2=1499396&view=diff ============================================================================== --- tomcat/trunk/java/javax/el/ELContext.java (original) +++ tomcat/trunk/java/javax/el/ELContext.java Wed Jul 3 13:37:05 2013 @@ -17,7 +17,9 @@ package javax.el; import java.util.ArrayList; +import java.util.Deque; import java.util.HashMap; +import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Map; @@ -34,6 +36,8 @@ public abstract class ELContext { private List<EvaluationListener> listeners = new ArrayList<>(); + private Deque<Map<String,Object>> lambdaArguments = new LinkedList<>(); + public ELContext() { this.resolved = false; } @@ -159,6 +163,45 @@ public abstract class ELContext { /** * @since EL 3.0 */ + public boolean isLambdaArgument(String name) { + for (Map<String,Object> arguments : lambdaArguments) { + if (arguments.containsKey(name)) { + return true; + } + } + return false; + } + + /** + * @since EL 3.0 + */ + public Object getLambdaArgument(String name) { + for (Map<String,Object> arguments : lambdaArguments) { + Object result = arguments.get(name); + if (result != null) { + return result; + } + } + return null; + } + + /** + * @since EL 3.0 + */ + public void enterLambdaScope(Map<String,Object> arguments) { + lambdaArguments.push(arguments); + } + + /** + * @since EL 3.0 + */ + public void exitLambdaScope() { + lambdaArguments.pop(); + } + + /** + * @since EL 3.0 + */ public Object convertToType(Object obj, Class<?> type) { boolean originalResolved = isPropertyResolved(); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org