From b2cb6cf54c41e8be0cedbcb0e80106ac80fd6cdc Mon Sep 17 00:00:00 2001 From: kkolinko Date: Wed, 17 Feb 2010 02:26:41 +0000 Subject: [PATCH] Provide slightly more efficient implementations for ScopeMap.size() and ScopeMap.containsKey(). git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@910803 13f79535-47bb-0310-9956-ffa450edef68 --- .../servlet/jsp/el/ImplicitObjectELResolver.java | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/java/javax/servlet/jsp/el/ImplicitObjectELResolver.java b/java/javax/servlet/jsp/el/ImplicitObjectELResolver.java index 3288c27c5..acc31c902 100644 --- a/java/javax/servlet/jsp/el/ImplicitObjectELResolver.java +++ b/java/javax/servlet/jsp/el/ImplicitObjectELResolver.java @@ -524,6 +524,35 @@ public class ImplicitObjectELResolver extends ELResolver { return set; } + @Override + public final int size() { + int size = 0; + Enumeration 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 e = getAttributeNames(); + if (e != null) { + while (e.hasMoreElements()) { + if (key.equals(e.nextElement())) { + return true; + } + } + } + return false; + } + private class ScopeEntry implements Map.Entry { private final String key; -- 2.11.0