Class CacheControl

java.lang.Object
jakarta.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()
    Deprecated.
    The format of the toString() method is subject to change in a future version.
    static CacheControl valueOf​(String value)
    Deprecated.
    This method will be removed in a future version.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • 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 Details

    • valueOf

      @Deprecated public static CacheControl valueOf​(String value)
      Deprecated.
      This method will be removed in a future version. Please use RuntimeDelegate.getInstance().createHeaderDelegate(CacheControl.class).fromString(value) instead.
      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

      @Deprecated public String toString()
      Deprecated.
      The format of the toString() method is subject to change in a future version. Please use RuntimeDelegate.getInstance().createHeaderDelegate(CacheControl.class).toString(value) instead if you rely on the format of this method.
      Convert the cache control to a string suitable for use as the value of the corresponding HTTP header.
      Overrides:
      toString in class Object
      Returns:
      a stringified cache control
    • hashCode

      public int hashCode()
      Generate hash code from cache control properties.
      Overrides:
      hashCode in class Object
      Returns:
      the hashCode
    • equals

      public boolean equals​(Object obj)
      Compares object argument to this cache control to see if they are the same considering all property values.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to compare to
      Returns:
      true if the two cache controls are the same, false otherwise.