org.apache.geode.cache.client

## Enum ClientRegionShortcut

- java.lang.Object
- - java.lang.Enum<ClientRegionShortcut>
  - - org.apache.geode.cache.client.ClientRegionShortcut

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<ClientRegionShortcut>

      public enum ClientRegionShortcut
      extends java.lang.Enum<ClientRegionShortcut>

  Each enum represents a predefined `RegionAttributes` in a `ClientCache`. These enum values can be used to create regions using a `ClientRegionFactory` obtained by calling `ClientCache.createClientRegionFactory(ClientRegionShortcut)`.

  Another way to use predefined region attributes is in cache.xml by setting the refid attribute on a region element or region-attributes element to the string of each value.

  Since:
    GemFire 6.5

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `CACHING_PROXY` A CACHING_PROXY region has local state but can also send operations to a server.
    `CACHING_PROXY_HEAP_LRU` A CACHING_PROXY_HEAP_LRU region has local state but can also send operations to a server.
    `CACHING_PROXY_OVERFLOW` A CACHING_PROXY_OVERFLOW region has local state but can also send operations to a server.
    `LOCAL` A LOCAL region only has local state and never sends operations to a server.
    `LOCAL_HEAP_LRU` A LOCAL_HEAP_LRU region only has local state and never sends operations to a server.
    `LOCAL_OVERFLOW` A LOCAL_OVERFLOW region only has local state and never sends operations to a server.
    `LOCAL_PERSISTENT` A LOCAL_PERSISTENT region only has local state and never sends operations to a server but it does write its state to disk and can recover that state when the region is created.
    `LOCAL_PERSISTENT_OVERFLOW` A LOCAL_PERSISTENT_OVERFLOW region only has local state and never sends operations to a server but it does write its state to disk and can recover that state when the region is created.
    `PROXY` A PROXY region has no local state and forwards all operations to a server.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ClientRegionShortcut` | `valueOf(java.lang.String name)` Returns the enum constant of this type with the specified name.
    `static ClientRegionShortcut[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

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

    - ### Methods inherited from class java.lang.Object

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

- - ### Enum Constant Detail

    - #### PROXY

          public static final ClientRegionShortcut PROXY

      A PROXY region has no local state and forwards all operations to a server. The actual RegionAttributes for a PROXY set the `DataPolicy` to `DataPolicy.EMPTY`.

    - #### CACHING_PROXY

          public static final ClientRegionShortcut CACHING_PROXY

      A CACHING_PROXY region has local state but can also send operations to a server. If the local state is not found then the operation is sent to the server and the local state is updated to contain the server result. The actual RegionAttributes for a CACHING_PROXY set the `DataPolicy` to `DataPolicy.NORMAL`.

    - #### CACHING_PROXY_HEAP_LRU

          public static final ClientRegionShortcut CACHING_PROXY_HEAP_LRU

      A CACHING_PROXY_HEAP_LRU region has local state but can also send operations to a server. If the local state is not found then the operation is sent to the server and the local state is updated to contain the server result. It will also destroy entries once it detects that the java vm is running low of memory. The actual RegionAttributes for a CACHING_PROXY_HEAP_LRU set the `DataPolicy` to `DataPolicy.NORMAL`. and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.LOCAL_DESTROY`.

    - #### CACHING_PROXY_OVERFLOW

          public static final ClientRegionShortcut CACHING_PROXY_OVERFLOW

      A CACHING_PROXY_OVERFLOW region has local state but can also send operations to a server. If the local state is not found then the operation is sent to the server and the local state is updated to contain the server result. It will also move the values of entries to disk once it detects that the java vm is running low of memory. The actual RegionAttributes for a CACHING_PROXY_OVERFLOW set the `DataPolicy` to `DataPolicy.NORMAL`. and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.OVERFLOW_TO_DISK`.

    - #### LOCAL

          public static final ClientRegionShortcut LOCAL

      A LOCAL region only has local state and never sends operations to a server. The actual RegionAttributes for a LOCAL region set the `DataPolicy` to `DataPolicy.NORMAL`.

    - #### LOCAL_PERSISTENT

          public static final ClientRegionShortcut LOCAL_PERSISTENT

      A LOCAL_PERSISTENT region only has local state and never sends operations to a server but it does write its state to disk and can recover that state when the region is created. The actual RegionAttributes for a LOCAL_PERSISTENT region set the `DataPolicy` to `DataPolicy.PERSISTENT_REPLICATE`.

    - #### LOCAL_HEAP_LRU

          public static final ClientRegionShortcut LOCAL_HEAP_LRU

      A LOCAL_HEAP_LRU region only has local state and never sends operations to a server. It will also destroy entries once it detects that the java vm is running low of memory. The actual RegionAttributes for a LOCAL_HEAP_LRU region set the `DataPolicy` to `DataPolicy.NORMAL` and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.LOCAL_DESTROY`.

    - #### LOCAL_OVERFLOW

          public static final ClientRegionShortcut LOCAL_OVERFLOW

      A LOCAL_OVERFLOW region only has local state and never sends operations to a server. It will also move the values of entries to disk once it detects that the java vm is running low of memory. The actual RegionAttributes for a LOCAL_OVERFLOW region set the `DataPolicy` to `DataPolicy.NORMAL` and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.OVERFLOW_TO_DISK`.

    - #### LOCAL_PERSISTENT_OVERFLOW

          public static final ClientRegionShortcut LOCAL_PERSISTENT_OVERFLOW

      A LOCAL_PERSISTENT_OVERFLOW region only has local state and never sends operations to a server but it does write its state to disk and can recover that state when the region is created. It will also remove the values of entries from memory once it detects that the java vm is running low of memory. The actual RegionAttributes for a LOCAL_PERSISTENT_OVERFLOW region set the `DataPolicy` to `DataPolicy.PERSISTENT_REPLICATE` and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.OVERFLOW_TO_DISK`.

  - ### Method Detail

    - #### values

          public static ClientRegionShortcut[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (ClientRegionShortcut c : ClientRegionShortcut.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static ClientRegionShortcut valueOf(java.lang.String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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:
        `java.lang.IllegalArgumentException` - if this enum type has no constant with the specified name
        `java.lang.NullPointerException` - if the argument is null