/* GNU GENERAL LICENSE Copyright (C) 2006 The Lobo Project. Copyright (C) 2014 - 2017 Lobo Evolution This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either verion 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General License for more details. You should have received a copy of the GNU General Public along with this program. If not, see <http://www.gnu.org/licenses/>. Contact info: lobochief@users.sourceforge.net; ivan.difrancesco@yahoo.it */ /* * Created on Jun 2, 2005 */ package org.lobobrowser.http; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; /** * The Class Cookie. * * @author J. H. S. */ public class Cookie extends NameValuePair { /** The comment. */ private String comment; /** The domain. */ private String domain; /** The expires. */ private long expires; /** The max age. */ private int maxAge = -1; /** The path. */ private String path; /** The secure. */ private boolean secure; /** The version. */ private int version; /** * Instantiates a new cookie. */ public Cookie() { } /** * Instantiates a new cookie. * * @param name * the name * @param value * the value * @param path * the path * @param domain * the domain * @param expires * the expires */ public Cookie(String name, String value, String path, String domain, long expires) { super(name, value); this.path = path; this.domain = domain; this.expires = expires; } /** Gets the encoded name. * * @return the encoded name * @throws UnsupportedEncodingException * the unsupported encoding exception */ public String getEncodedName() throws UnsupportedEncodingException { return URLEncoder.encode(this.name, "UTF-8"); } /** Gets the encoded value. * * @return the encoded value * @throws UnsupportedEncodingException * the unsupported encoding exception */ public String getEncodedValue() throws UnsupportedEncodingException { return URLEncoder.encode(this.value, "UTF-8"); } /** Sets the comment. * * @param comment * the new comment */ public void setComment(String comment) { String old = getComment(); this.comment = comment; firePropertyChange("comment", old, getComment()); } /** Gets the comment. * * @return the comment */ public String getComment() { return comment; } /** Gets the expires. * * @return the expires */ public Long getExpires() { return expires; } /** Sets the domain. * * @param domain * the new domain */ public void setDomain(String domain) { String old = getDomain(); this.domain = domain; firePropertyChange("domain", old, getDomain()); } /** Gets the domain. * * @return the domain */ public String getDomain() { return domain; } /** Sets the max age. * * @param age * the new max age */ public void setMaxAge(int age) { long old = getMaxAge(); this.maxAge = age; firePropertyChange("maxAge", old, getMaxAge()); } /** Gets the max age. * * @return the max age */ public int getMaxAge() { return maxAge; } /** Sets the path. * * @param path * the new path */ public void setPath(String path) { String old = getPath(); this.path = path; firePropertyChange("path", old, getPath()); } /** Gets the path. * * @return the path */ public String getPath() { return path; } /** Sets the secure. * * @param secure * the new secure */ public void setSecure(boolean secure) { boolean old = isSecure(); this.secure = secure; firePropertyChange("secure", old, isSecure()); } /** Checks if is secure. * * @return the secure */ public boolean isSecure() { return secure; } /** Sets the version. * * @param version * the new version */ public void setVersion(int version) { int old = getVersion(); this.version = version; firePropertyChange("version", old, getVersion()); } /** Gets the version. * * @return the version */ public int getVersion() { return version; } /* * (non-Javadoc) * @see org.lobobrowser.util.NameValuePair#toString() */ @Override public String toString() { return "Cookie [" + getName() + "=" + getValue() + ", " + "Comment=" + getComment() + ", " + "Domain=" + getDomain() + ", " + "Max-Age=" + getMaxAge() + ", " + "Path=" + getPath() + ", " + "Secure=" + isSecure() + ", " + "Version=" + getVersion() + "]"; } }