Package javax.ws.rs.core
Class CacheControl
- java.lang.Object
-
- javax.ws.rs.core.CacheControl
-
public class CacheControl extends Object
An abstraction for the value of a HTTP Cache-Control response header.- Since:
- 1.0
- Author:
- Paul Sandoz, Marc Hadley
- See Also:
- HTTP/1.1 section 14.9
-
-
Constructor Summary
Constructors Constructor Description CacheControl()
Create a new instance of CacheControl.
-
Method Summary
Modifier and Type Method Description boolean
equals(Object obj)
Compares object argument to this cache control to see if they are the same considering all property values.Map<String,String>
getCacheExtension()
Corresponds to a set of extension cache control directives.int
getMaxAge()
Corresponds to the max-age cache control directive.List<String>
getNoCacheFields()
Corresponds to the value of the no-cache cache control directive.List<String>
getPrivateFields()
Corresponds to the value of the private cache control directive.int
getSMaxAge()
Corresponds to the s-maxage cache control directive.int
hashCode()
Generate hash code from cache control properties.boolean
isMustRevalidate()
Corresponds to the must-revalidate cache control directive.boolean
isNoCache()
Corresponds to the no-cache cache control directive.boolean
isNoStore()
Corresponds to the no-store cache control directive.boolean
isNoTransform()
Corresponds to the no-transform cache control directive.boolean
isPrivate()
Corresponds to the private cache control directive.boolean
isProxyRevalidate()
Corresponds to the proxy-revalidate cache control directive.void
setMaxAge(int maxAge)
Corresponds to the max-age cache control directive.void
setMustRevalidate(boolean mustRevalidate)
Corresponds to the must-revalidate cache control directive.void
setNoCache(boolean noCache)
Corresponds to the no-cache cache control directive.void
setNoStore(boolean noStore)
Corresponds to the no-store cache control directive.void
setNoTransform(boolean noTransform)
Corresponds to the no-transform cache control directive.void
setPrivate(boolean flag)
Corresponds to the private cache control directive.void
setProxyRevalidate(boolean proxyRevalidate)
Corresponds to the must-revalidate cache control directive.void
setSMaxAge(int sMaxAge)
Corresponds to the s-maxage cache control directive.String
toString()
Convert the cache control to a string suitable for use as the value of the corresponding HTTP header.static CacheControl
valueOf(String value)
Creates a new instance of CacheControl by parsing the supplied string.
-
-
-
Constructor Detail
-
CacheControl
public CacheControl()
Create a new instance of CacheControl. The new instance will have the following default settings:- private = false
- noCache = false
- noStore = false
- noTransform = true
- mustRevalidate = false
- proxyRevalidate = false
- An empty list of private fields
- An empty list of no-cache fields
- An empty map of cache extensions
-
-
Method Detail
-
valueOf
public static CacheControl valueOf(String value)
Creates a new instance of CacheControl by parsing the supplied string.- Parameters:
value
- the cache control string- Returns:
- the newly created CacheControl
- Throws:
IllegalArgumentException
- if the supplied string cannot be parsed or is null
-
isMustRevalidate
public boolean isMustRevalidate()
Corresponds to the must-revalidate cache control directive.- Returns:
- true if the must-revalidate cache control directive will be included in the response, false otherwise.
- See Also:
- HTTP/1.1 section 14.9.4
-
setMustRevalidate
public void setMustRevalidate(boolean mustRevalidate)
Corresponds to the must-revalidate cache control directive.- Parameters:
mustRevalidate
- true if the must-revalidate cache control directive should be included in the response, false otherwise.- See Also:
- HTTP/1.1 section 14.9.4
-
isProxyRevalidate
public boolean isProxyRevalidate()
Corresponds to the proxy-revalidate cache control directive.- Returns:
- true if the proxy-revalidate cache control directive will be included in the response, false otherwise.
- See Also:
- HTTP/1.1 section 14.9.4
-
setProxyRevalidate
public void setProxyRevalidate(boolean proxyRevalidate)
Corresponds to the must-revalidate cache control directive.- Parameters:
proxyRevalidate
- true if the proxy-revalidate cache control directive should be included in the response, false otherwise.- See Also:
- HTTP/1.1 section 14.9.4
-
getMaxAge
public int getMaxAge()
Corresponds to the max-age cache control directive.- Returns:
- the value of the max-age cache control directive, -1 if the directive is disabled.
- See Also:
- HTTP/1.1 section 14.9.3
-
setMaxAge
public void setMaxAge(int maxAge)
Corresponds to the max-age cache control directive.- Parameters:
maxAge
- the value of the max-age cache control directive, a value of -1 will disable the directive.- See Also:
- HTTP/1.1 section 14.9.3
-
getSMaxAge
public int getSMaxAge()
Corresponds to the s-maxage cache control directive.- Returns:
- the value of the s-maxage cache control directive, -1 if the directive is disabled.
- See Also:
- HTTP/1.1 section 14.9.3
-
setSMaxAge
public void setSMaxAge(int sMaxAge)
Corresponds to the s-maxage cache control directive.- Parameters:
sMaxAge
- the value of the s-maxage cache control directive, a value of -1 will disable the directive.- See Also:
- HTTP/1.1 section 14.9.3
-
getNoCacheFields
public List<String> getNoCacheFields()
Corresponds to the value of the no-cache cache control directive.- Returns:
- a mutable list of field-names that will form the value of the no-cache cache control directive. An empty list results in a bare no-cache directive.
- See Also:
isNoCache()
,setNoCache(boolean)
, HTTP/1.1 section 14.9.1
-
setNoCache
public void setNoCache(boolean noCache)
Corresponds to the no-cache cache control directive.- Parameters:
noCache
- true if the no-cache cache control directive should be included in the response, false otherwise.- See Also:
getNoCacheFields()
, HTTP/1.1 section 14.9.1
-
isNoCache
public boolean isNoCache()
Corresponds to the no-cache cache control directive.- Returns:
- true if the no-cache cache control directive will be included in the response, false otherwise.
- See Also:
getNoCacheFields()
, HTTP/1.1 section 14.9.1
-
isPrivate
public boolean isPrivate()
Corresponds to the private cache control directive.- Returns:
- true if the private cache control directive will be included in the response, false otherwise.
- See Also:
getPrivateFields()
, HTTP/1.1 section 14.9.1
-
getPrivateFields
public List<String> getPrivateFields()
Corresponds to the value of the private cache control directive.- Returns:
- a mutable list of field-names that will form the value of the private cache control directive. An empty list results in a bare no-cache directive.
- See Also:
isPrivate()
,setPrivate(boolean)
, HTTP/1.1 section 14.9.1
-
setPrivate
public void setPrivate(boolean flag)
Corresponds to the private cache control directive.- Parameters:
flag
- true if the private cache control directive should be included in the response, false otherwise.- See Also:
getPrivateFields()
, HTTP/1.1 section 14.9.1
-
isNoTransform
public boolean isNoTransform()
Corresponds to the no-transform cache control directive.- Returns:
- true if the no-transform cache control directive will be included in the response, false otherwise.
- See Also:
- HTTP/1.1 section 14.9.5
-
setNoTransform
public void setNoTransform(boolean noTransform)
Corresponds to the no-transform cache control directive.- Parameters:
noTransform
- true if the no-transform cache control directive should be included in the response, false otherwise.- See Also:
- HTTP/1.1 section 14.9.5
-
isNoStore
public boolean isNoStore()
Corresponds to the no-store cache control directive.- Returns:
- true if the no-store cache control directive will be included in the response, false otherwise.
- See Also:
- HTTP/1.1 section 14.9.2
-
setNoStore
public void setNoStore(boolean noStore)
Corresponds to the no-store cache control directive.- Parameters:
noStore
- true if the no-store cache control directive should be included in the response, false otherwise.- See Also:
- HTTP/1.1 section 14.9.2
-
getCacheExtension
public Map<String,String> getCacheExtension()
Corresponds to a set of extension cache control directives.- Returns:
- a mutable map of cache control extension names and their values. If a key has a null value, it will appear as a bare directive. If a key has a value that contains no whitespace then the directive will appear as a simple name=value pair. If a key has a value that contains whitespace then the directive will appear as a quoted name="value" pair.
- See Also:
- HTTP/1.1 section 14.9.6
-
toString
public String toString()
Convert the cache control to a string suitable for use as the value of the corresponding HTTP header.
-
hashCode
public int hashCode()
Generate hash code from cache control properties.
-
-