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
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a new instance of CacheControl.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Compares object argument to this cache control to see if they are the same considering all property values.
    Corresponds to a set of extension cache control directives.
    int
    Corresponds to the max-age cache control directive.
    Corresponds to the value of the no-cache cache control directive.
    Corresponds to the value of the private cache control directive.
    int
    Corresponds to the s-maxage cache control directive.
    int
    Generate hash code from cache control properties.
    boolean
    Corresponds to the must-revalidate cache control directive.
    boolean
    Corresponds to the no-cache cache control directive.
    boolean
    Corresponds to the no-store cache control directive.
    boolean
    Corresponds to the no-transform cache control directive.
    boolean
    Corresponds to the private cache control directive.
    boolean
    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.
    Convert the cache control to a string suitable for use as the value of the corresponding HTTP header.
    valueOf(String value)
    Creates a new instance of CacheControl by parsing the supplied string.

    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

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

      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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • toString

      public String toString()
      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.