package org.apache.struts.beanaction.httpmap; import java.util.Enumeration; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; /** * Map to wrap cookie names and values (READ ONLY). * <p/> * <p/> * <p/> * Date: Mar 11, 2004 11:31:35 PM * * @author Clinton Begin */ public class CookieMap extends BaseHttpMap { private Cookie[] cookies; public CookieMap(HttpServletRequest request) { cookies = request.getCookies(); } protected Enumeration getNames() { return new CookieEnumerator(cookies); } protected Object getValue(Object key) { for (int i = 0; i < cookies.length; i++) { if (key.equals(cookies[i].getName())) { return cookies[i].getValue(); } } return null; } protected void putValue(Object key, Object value) { throw new UnsupportedOperationException(); } protected void removeValue(Object key) { throw new UnsupportedOperationException(); } /** * Cookie Enumerator Class */ private class CookieEnumerator implements Enumeration { private int i = 0; private Cookie[] cookieArray; public CookieEnumerator(Cookie[] cookies) { this.cookieArray = cookies; } public boolean hasMoreElements() { return cookieArray.length > i; } public Object nextElement() { Object element = cookieArray[i]; i++; return element; } } }