Index: E:/EclipseWorkspaces/HTTPCLIENT_3_0_BRANCH/src/java/org/apache/commons/httpclient/cookie/CookiePolicy.java =================================================================== --- E:/EclipseWorkspaces/HTTPCLIENT_3_0_BRANCH/src/java/org/apache/commons/httpclient/cookie/CookiePolicy.java (revision 411425) +++ E:/EclipseWorkspaces/HTTPCLIENT_3_0_BRANCH/src/java/org/apache/commons/httpclient/cookie/CookiePolicy.java (working copy) @@ -29,8 +29,11 @@ package org.apache.commons.httpclient.cookie; +import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; +import java.util.Iterator; +import java.util.List; import java.util.Map; import org.apache.commons.logging.Log; @@ -302,4 +305,26 @@ public static CookieSpec getCompatibilitySpec() { return getSpecByPolicy(COMPATIBILITY); } + + /** + * Obtains the registered cookie policy names. + * + * @param includeDefault - should the DEFAULT policy be included? + * + * @return array of registered cookie policy names + */ + public static String[] getRegisteredCookieSpecs(boolean includeDefault){ + if (includeDefault){ + return (String[]) SPECS.keySet().toArray(new String [SPECS.size()]); + } + List list = new ArrayList(SPECS.size()); + Iterator iter = SPECS.keySet().iterator(); + while(iter.hasNext()){ + Object next = iter.next(); + if (!next.toString().equals(DEFAULT)){ + list.add(next); + } + } + return (String[]) list.toArray(new String[0]); + } }