/* * Ext GWT - Ext for GWT * Copyright(c) 2007-2009, Ext JS, LLC. * licensing@extjs.com * * http://extjs.com/license */ package com.extjs.gxt.ui.client.state; import java.util.Date; import com.google.gwt.user.client.Cookies; /** * The default <code>Provider</code> implementation which saves state via * cookies. */ public class CookieProvider extends Provider { private Date expires; private String path, domain; private boolean secure; /** * Creates a new cookie provider * * @param path The path for which the cookie is active (defaults to root '/' * which makes it active for all pages in the site) * @param expires the cookie expiration date (defaults to 7 days from now) * @param domain The domain to save the cookie for. Note that you cannot * specify a different domain than your page is on, but you can * specify a sub-domain. * @param secure <code>true</code> if the site is using SSL */ public CookieProvider(String path, Date expires, String domain, boolean secure) { this.path = path == null ? "/" : path; this.secure = secure; this.domain = domain; if (expires == null) { expires = new Date(new Date().getTime() + (1000 * 60 * 60 * 24 * 7)); //7- // days } this.expires = expires; } protected void clearKey(String name) { Cookies.removeCookie(name); } protected String getValue(String name) { return Cookies.getCookie(name); } protected void setValue(String name, String value) { Cookies.setCookie(name, value, expires, domain, path, secure); } public void clear(String name) { Cookies.removeCookie(name); } public void set(String name, String value, Date expires) { Cookies.setCookie(name, value, expires, domain, path, secure); } }