# Enum Class QueryCacheStrategy

java.lang.Object
java.lang.Enum<QueryCacheStrategy>
org.apache.cayenne.query.QueryCacheStrategy

All Implemented Interfaces:
  `Serializable, Comparable<QueryCacheStrategy>, Constable`

public enum QueryCacheStrategy extends Enum<QueryCacheStrategy>
Defines query result caching policy.

Since:
  3.0

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class Enum

  `Enum.EnumDesc<E>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `LOCAL_CACHE`
  A cache policy stating that query results shall be cached by the ObjectContext that originated the query, independent from any other ObjectContexts.
  `LOCAL_CACHE_REFRESH`
  A cache policy stating that query results shall be cached by the ObjectContext that originated the query, independent from any other ObjectContexts, however the query that uses this policy should treat current cache state as expired, and force the database fetch.
  `NO_CACHE`
  A default cache policy stating that the query results should not be cached.
  `SHARED_CACHE`
  A cache policy ruling that query results shall be cached in a shared location accessible by all ObjectContexts.
  `SHARED_CACHE_REFRESH`
  A cache policy ruling that query results shall be cached in a shared location accessible by all ObjectContexts, however the query that uses this policy should treat current cache state as expired, and force the database fetch.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static QueryCacheStrategy`
  `getDefaultStrategy()`
  Returns the default strategy - `NO_CACHE`.
  `static QueryCacheStrategy`
  `safeValueOf(String string)`
  Returns QueryCacheStrategy for the specified string name or default strategy for invalid names.
  `static QueryCacheStrategy`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static QueryCacheStrategy[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods inherited from class Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### NO_CACHE

    public static final QueryCacheStrategy NO_CACHE
    A default cache policy stating that the query results should not be cached.

  - ### LOCAL_CACHE

    public static final QueryCacheStrategy LOCAL_CACHE
    A cache policy stating that query results shall be cached by the ObjectContext that originated the query, independent from any other ObjectContexts.

  - ### LOCAL_CACHE_REFRESH

    public static final QueryCacheStrategy LOCAL_CACHE_REFRESH
    A cache policy stating that query results shall be cached by the ObjectContext that originated the query, independent from any other ObjectContexts, however the query that uses this policy should treat current cache state as expired, and force the database fetch.

  - ### SHARED_CACHE

    public static final QueryCacheStrategy SHARED_CACHE
    A cache policy ruling that query results shall be cached in a shared location accessible by all ObjectContexts.

  - ### SHARED_CACHE_REFRESH

    public static final QueryCacheStrategy SHARED_CACHE_REFRESH
    A cache policy ruling that query results shall be cached in a shared location accessible by all ObjectContexts, however the query that uses this policy should treat current cache state as expired, and force the database fetch.

- ## Method Details

  - ### values

    public static QueryCacheStrategy[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static QueryCacheStrategy valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null

  - ### safeValueOf

    public static QueryCacheStrategy safeValueOf(String string)
    Returns QueryCacheStrategy for the specified string name or default strategy for invalid names.

  - ### getDefaultStrategy

    public static QueryCacheStrategy getDefaultStrategy()
    Returns the default strategy - `NO_CACHE`.