KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > blojsom > util > CookieUtils


1 /**
2  * Copyright (c) 2003-2006, David A. Czarnecki
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * Redistributions of source code must retain the above copyright notice, this list of conditions and the
9  * following disclaimer.
10  * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
11  * following disclaimer in the documentation and/or other materials provided with the distribution.
12  * Neither the name of "David A. Czarnecki" and "blojsom" nor the names of its contributors may be used to
13  * endorse or promote products derived from this software without specific prior written permission.
14  * Products derived from this software may not be called "blojsom", nor may "blojsom" appear in their name,
15  * without prior written permission of David A. Czarnecki.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
18  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
19  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20  * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
21  * EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
22  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
26  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  */

31 package org.blojsom.util;
32
33 import javax.servlet.http.Cookie JavaDoc;
34 import javax.servlet.http.HttpServletRequest JavaDoc;
35 import javax.servlet.http.HttpServletResponse JavaDoc;
36
37 /**
38  * CookieUtils
39  *
40  * @author David Czarnecki
41  * @version $Id: CookieUtils.java,v 1.3 2006/06/21 14:24:10 czarneckid Exp $
42  * @since blojsom 3.0
43  */

44 public class CookieUtils {
45
46     /**
47      * Return a cookie given a particular key
48      *
49      * @param httpServletRequest Request
50      * @param cookieKey Cookie key
51      * @return <code>Cookie</code> of the requested key or <code>null</code> if no cookie
52      * under that name is found
53      */

54     public static Cookie JavaDoc getCookie(HttpServletRequest JavaDoc httpServletRequest, String JavaDoc cookieKey) {
55         Cookie JavaDoc[] cookies = httpServletRequest.getCookies();
56         if (cookies == null) {
57             return null;
58         }
59
60         for (int i = 0; i < cookies.length; i++) {
61             Cookie JavaDoc cookie = cookies[i];
62             if (cookie.getName().equals(cookieKey)) {
63                 return cookie;
64             }
65         }
66
67         return null;
68     }
69
70     /**
71      * Add a cookie with a key and value to the response
72      *
73      * @param httpServletResponse Response
74      * @param cookieExpiration Cookie expiration (in seconds)
75      * @param cookieKey Cookie key
76      * @param cookieValue Cookie value
77      */

78     public static void addCookie(HttpServletResponse JavaDoc httpServletResponse, int cookieExpiration, String JavaDoc cookieKey, String JavaDoc cookieValue) {
79         Cookie JavaDoc cookie = new Cookie JavaDoc(cookieKey, cookieValue);
80         cookie.setMaxAge(cookieExpiration);
81         httpServletResponse.addCookie(cookie);
82     }
83 }
84
Popular Tags