Provide slightly more efficient implementations for ScopeMap.size() and ScopeMap...
authorkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 17 Feb 2010 02:26:41 +0000 (02:26 +0000)
committerkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 17 Feb 2010 02:26:41 +0000 (02:26 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@910803 13f79535-47bb-0310-9956-ffa450edef68

java/javax/servlet/jsp/el/ImplicitObjectELResolver.java

index 3288c27..acc31c9 100644 (file)
@@ -524,6 +524,35 @@ public class ImplicitObjectELResolver extends ELResolver {
             return set;
         }
 
+        @Override
+        public final int size() {
+            int size = 0;
+            Enumeration<String> e = getAttributeNames();
+            if (e != null) {
+                while (e.hasMoreElements()) {
+                    e.nextElement();
+                    size++;
+                }
+            }
+            return size;
+        }
+
+        @Override
+        public final boolean containsKey(Object key) {
+            if (key == null) {
+                return false;
+            }
+            Enumeration<String> e = getAttributeNames();
+            if (e != null) {
+                while (e.hasMoreElements()) {
+                    if (key.equals(e.nextElement())) {
+                        return true;
+                    }
+                }
+            }
+            return false;
+        }
+
         private class ScopeEntry implements Map.Entry<String,V> {
 
             private final String key;