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: [email protected]
For additional commands, e-mail: [email protected]