Package jakarta.ws.rs.core
Class NewCookie
java.lang.Object
jakarta.ws.rs.core.Cookie
jakarta.ws.rs.core.NewCookie
public class NewCookie extends Cookie
Used to create a new HTTP cookie, transferred in a response.
- Since:
- 1.0
- Author:
- Paul Sandoz, Marc Hadley
- See Also:
- IETF RFC 2109
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_MAX_AGE
Specifies that the cookie expires with the current application/browser session. -
Constructor Summary
Constructors Constructor Description NewCookie(Cookie cookie)
Create a new instance copying the information in the supplied cookie.NewCookie(Cookie cookie, String comment, int maxAge, boolean secure)
Create a new instance supplementing the information in the supplied cookie.NewCookie(Cookie cookie, String comment, int maxAge, Date expiry, boolean secure, boolean httpOnly)
Create a new instance supplementing the information in the supplied cookie.NewCookie(String name, String value)
Create a new instance.NewCookie(String name, String value, String path, String domain, int version, String comment, int maxAge, boolean secure)
Create a new instance.NewCookie(String name, String value, String path, String domain, int version, String comment, int maxAge, Date expiry, boolean secure, boolean httpOnly)
Create a new instance.NewCookie(String name, String value, String path, String domain, String comment, int maxAge, boolean secure)
Create a new instance.NewCookie(String name, String value, String path, String domain, String comment, int maxAge, boolean secure, boolean httpOnly)
Create a new instance. -
Method Summary
Modifier and Type Method Description boolean
equals(Object obj)
Compare for equality.String
getComment()
Get the comment associated with the cookie.Date
getExpiry()
Get the cookie expiry date.int
getMaxAge()
Get the maximum age of the the cookie in seconds.int
hashCode()
Generate a hash code by hashing all of the properties.boolean
isHttpOnly()
Returnstrue
if this cookie contains theHttpOnly
attribute.boolean
isSecure()
Whether the cookie will only be sent over a secure connection.Cookie
toCookie()
Obtain a new instance of aCookie
with the same name, value, path, domain and version as thisNewCookie
.String
toString()
Deprecated.The format of the toString() method is subject to change in a future version.static NewCookie
valueOf(String value)
Deprecated.This method will be removed in a future version.
-
Field Details
-
DEFAULT_MAX_AGE
public static final int DEFAULT_MAX_AGESpecifies that the cookie expires with the current application/browser session.- See Also:
- Constant Field Values
-
-
Constructor Details
-
NewCookie
Create a new instance.- Parameters:
name
- the name of the cookie.value
- the value of the cookie.- Throws:
IllegalArgumentException
- if name isnull
.
-
NewCookie
public NewCookie(String name, String value, String path, String domain, String comment, int maxAge, boolean secure)Create a new instance.- Parameters:
name
- the name of the cookie.value
- the value of the cookie.path
- the URI path for which the cookie is valid.domain
- the host domain for which the cookie is valid.comment
- the comment.maxAge
- the maximum age of the cookie in seconds.secure
- specifies whether the cookie will only be sent over a secure connection.- Throws:
IllegalArgumentException
- if name isnull
.
-
NewCookie
public NewCookie(String name, String value, String path, String domain, String comment, int maxAge, boolean secure, boolean httpOnly)Create a new instance.- Parameters:
name
- the name of the cookie.value
- the value of the cookie.path
- the URI path for which the cookie is valid.domain
- the host domain for which the cookie is valid.comment
- the comment.maxAge
- the maximum age of the cookie in seconds.secure
- specifies whether the cookie will only be sent over a secure connection.httpOnly
- iftrue
make the cookie HTTP only, i.e. only visible as part of an HTTP request.- Throws:
IllegalArgumentException
- if name isnull
.- Since:
- 2.0
-
NewCookie
public NewCookie(String name, String value, String path, String domain, int version, String comment, int maxAge, boolean secure)Create a new instance.- Parameters:
name
- the name of the cookievalue
- the value of the cookiepath
- the URI path for which the cookie is validdomain
- the host domain for which the cookie is validversion
- the version of the specification to which the cookie compliescomment
- the commentmaxAge
- the maximum age of the cookie in secondssecure
- specifies whether the cookie will only be sent over a secure connection- Throws:
IllegalArgumentException
- if name isnull
.
-
NewCookie
public NewCookie(String name, String value, String path, String domain, int version, String comment, int maxAge, Date expiry, boolean secure, boolean httpOnly)Create a new instance.- Parameters:
name
- the name of the cookievalue
- the value of the cookiepath
- the URI path for which the cookie is validdomain
- the host domain for which the cookie is validversion
- the version of the specification to which the cookie compliescomment
- the commentmaxAge
- the maximum age of the cookie in secondsexpiry
- the cookie expiry date.secure
- specifies whether the cookie will only be sent over a secure connectionhttpOnly
- iftrue
make the cookie HTTP only, i.e. only visible as part of an HTTP request.- Throws:
IllegalArgumentException
- if name isnull
.- Since:
- 2.0
-
NewCookie
Create a new instance copying the information in the supplied cookie.- Parameters:
cookie
- the cookie to clone.- Throws:
IllegalArgumentException
- if cookie isnull
.
-
NewCookie
Create a new instance supplementing the information in the supplied cookie.- Parameters:
cookie
- the cookie to clone.comment
- the comment.maxAge
- the maximum age of the cookie in seconds.secure
- specifies whether the cookie will only be sent over a secure connection.- Throws:
IllegalArgumentException
- if cookie isnull
.
-
NewCookie
public NewCookie(Cookie cookie, String comment, int maxAge, Date expiry, boolean secure, boolean httpOnly)Create a new instance supplementing the information in the supplied cookie.- Parameters:
cookie
- the cookie to clone.comment
- the comment.maxAge
- the maximum age of the cookie in seconds.expiry
- the cookie expiry date.secure
- specifies whether the cookie will only be sent over a secure connection.httpOnly
- iftrue
make the cookie HTTP only, i.e. only visible as part of an HTTP request.- Throws:
IllegalArgumentException
- if cookie isnull
.- Since:
- 2.0
-
-
Method Details
-
valueOf
Deprecated.This method will be removed in a future version. Please use RuntimeDelegate.getInstance().createHeaderDelegate(NewCookie.class).fromString(value) instead.Creates a new instance of NewCookie by parsing the supplied string.- Parameters:
value
- the cookie string.- Returns:
- the newly created
NewCookie
. - Throws:
IllegalArgumentException
- if the supplied string cannot be parsed or isnull
.
-
getComment
Get the comment associated with the cookie.- Returns:
- the comment or null if none set
-
getMaxAge
public int getMaxAge()Get the maximum age of the the cookie in seconds. Cookies older than the maximum age are discarded. A cookie can be unset by sending a new cookie with maximum age of 0 since it will overwrite any existing cookie and then be immediately discarded. The default value of-1
indicates that the cookie will be discarded at the end of the browser/application session.Note that it is recommended to use
Max-Age
to control cookie expiration, however some browsers do not understandMax-Age
, in which case settinggetExpiry()
Expires} parameter may be necessary.- Returns:
- the maximum age in seconds.
- See Also:
getExpiry()
-
getExpiry
Get the cookie expiry date. Cookies whose expiry date has passed are discarded. A cookie can be unset by setting a new cookie with an expiry date in the past, typically the lowest possible date that can be set.Note that it is recommended to use
Max-Age
to control cookie expiration, however some browsers do not understandMax-Age
, in which case settingExpires
parameter may be necessary.- Returns:
- cookie expiry date or
null
if no expiry date was set. - Since:
- 2.0
- See Also:
getMaxAge()
-
isSecure
public boolean isSecure()Whether the cookie will only be sent over a secure connection. Defaults tofalse
.- Returns:
true
if the cookie will only be sent over a secure connection,false
otherwise.
-
isHttpOnly
public boolean isHttpOnly()Returnstrue
if this cookie contains theHttpOnly
attribute. This means that the cookie should not be accessible to scripting engines, like javascript.- Returns:
true
if this cookie should be considered http only,false
otherwise.- Since:
- 2.0
-
toCookie
Obtain a new instance of aCookie
with the same name, value, path, domain and version as thisNewCookie
. This method can be used to obtain an object that can be compared for equality with anotherCookie
; since aCookie
will never compare equal to aNewCookie
.- Returns:
- a
Cookie
-
toString
Deprecated.The format of the toString() method is subject to change in a future version. Please use RuntimeDelegate.getInstance().createHeaderDelegate(NewCookie.class).toString(value) instead if you rely on the format of this method.Convert the cookie to a string suitable for use as the value of the corresponding HTTP header. -
hashCode
public int hashCode()Generate a hash code by hashing all of the properties. -
equals
Compare for equality. UsetoCookie()
to compare aNewCookie
to aCookie
considering only the common properties.
-