Author: markt Date: Wed Oct 1 14:24:49 2014 New Revision: 1628712 URL: http://svn.apache.org/r1628712 Log: boolean[] -> BitSet
Modified: tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java Modified: tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java?rev=1628712&r1=1628711&r2=1628712&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java Wed Oct 1 14:24:49 2014 @@ -18,6 +18,7 @@ package org.apache.tomcat.util.http; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; +import java.util.BitSet; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; @@ -45,7 +46,7 @@ public final class LegacyCookieProcessor StringManager.getManager("org.apache.tomcat.util.http"); private static final char[] V0_SEPARATORS = {',', ';', ' ', '\t'}; - private static final boolean[] V0_SEPARATOR_FLAGS = new boolean[128]; + private static final BitSet V0_SEPARATOR_FLAGS = new BitSet(128); // Excludes '/' since configuration controls whether or not to treat '/' as // a separator @@ -55,7 +56,7 @@ public final class LegacyCookieProcessor static { for (char c : V0_SEPARATORS) { - V0_SEPARATOR_FLAGS[c] = true; + V0_SEPARATOR_FLAGS.set(c); } } @@ -73,18 +74,20 @@ public final class LegacyCookieProcessor // when deprecated code is removed private boolean presserveCookieHeader = CookieSupport.PRESERVE_COOKIE_HEADER; - private boolean[] httpSeparatorFlags = new boolean[128]; + private BitSet httpSeparatorFlags = new BitSet(128); public LegacyCookieProcessor() { - // Array elements will default to false + // BitSet elements will default to false for (char c : HTTP_SEPARATORS) { - httpSeparatorFlags[c] = true; + httpSeparatorFlags.set(c); } @SuppressWarnings("deprecation") // Default to STRICT_SERVLET_COMPLIANCE // when deprecated code is removed boolean b = CookieSupport.FWD_SLASH_IS_SEPARATOR; - httpSeparatorFlags['/'] = b; + if (b) { + httpSeparatorFlags.set('/'); + } } @@ -129,12 +132,16 @@ public final class LegacyCookieProcessor public boolean getForwardSlashIsSeparator() { - return httpSeparatorFlags['/']; + return httpSeparatorFlags.get('/'); } public void setForwardSlashIsSeparator(boolean forwardSlashIsSeparator) { - httpSeparatorFlags['/'] = forwardSlashIsSeparator; + if (forwardSlashIsSeparator) { + httpSeparatorFlags.set('/'); + } else { + httpSeparatorFlags.clear('/'); + } } @@ -478,7 +485,7 @@ public final class LegacyCookieProcessor } } - return httpSeparatorFlags[c]; + return httpSeparatorFlags.get(c); } @@ -494,7 +501,7 @@ public final class LegacyCookieProcessor } } - return V0_SEPARATOR_FLAGS[c]; + return V0_SEPARATOR_FLAGS.get(c); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org