org.apache.geode.cache

## Enum RegionShortcut

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

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

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

  Each enum represents a predefined `RegionAttributes` in a `Cache`. These enum values can be used to create regions using a `RegionFactory` obtained by calling `Cache.createRegionFactory(RegionShortcut)`.

  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
    `LOCAL` A LOCAL region only has local state and never sends operations to others.
    `LOCAL_HEAP_LRU` A LOCAL_HEAP_LRU region only has local state and never sends operations to others.
    `LOCAL_OVERFLOW` A LOCAL_OVERFLOW region only has local state and never sends operations to others.
    `LOCAL_PERSISTENT` A LOCAL_PERSISTENT region only has local state and never sends operations to others 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 others but it does write its state to disk and can recover that state when the region is created.
    `PARTITION` A PARTITION has local state that is partitioned across each peer member that created the region.
    `PARTITION_HEAP_LRU` A PARTITION_HEAP_LRU has local state that is partitioned across each peer member that created the region.
    `PARTITION_OVERFLOW` A PARTITION_OVERFLOW has local state that is partitioned across each peer member that created the region.
    `PARTITION_PERSISTENT` A PARTITION_PERSISTENT has local state that is partitioned across each peer member that created the region.
    `PARTITION_PERSISTENT_OVERFLOW` A PARTITION_PERSISTENT_OVERFLOW has local state that is partitioned across each peer member that created the region.
    `PARTITION_PROXY` A PARTITION_PROXY has no local state and forwards all operations to a PARTITION or a PARTITION_PERSISTENT that exists in its peers.
    `PARTITION_PROXY_REDUNDANT` A PARTITION_PROXY_REDUNDANT has no local state and forwards all operations to a PARTITION_REDUNDANT or a PARTITION_REDUNDANT_PERSISTENT that exists in its peers.
    `PARTITION_REDUNDANT` A PARTITION_REDUNDANT has local state that is partitioned across each peer member that created the region.
    `PARTITION_REDUNDANT_HEAP_LRU` A PARTITION_REDUNDANT_HEAP_LRU has local state that is partitioned across each peer member that created the region.
    `PARTITION_REDUNDANT_OVERFLOW` A PARTITION_REDUNDANT_OVERFLOW has local state that is partitioned across each peer member that created the region.
    `PARTITION_REDUNDANT_PERSISTENT` A PARTITION_REDUNDANT_PERSISTENT has local state that is partitioned across each peer member that created the region.
    `PARTITION_REDUNDANT_PERSISTENT_OVERFLOW` A PARTITION_REDUNDANT_PERSISTENT_OVERFLOW has local state that is partitioned across each peer member that created the region.
    `REPLICATE` A REPLICATE has local state that is kept in sync with all other replicate regions that exist in its peers.
    `REPLICATE_HEAP_LRU` A REPLICATE_HEAP_LRU has local state that is kept in sync with all other replicate regions that exist in its peers.
    `REPLICATE_OVERFLOW` A REPLICATE_OVERFLOW has local state that is kept in sync with all other replicate regions that exist in its peers.
    `REPLICATE_PERSISTENT` A REPLICATE_PERSISTENT has local state that is kept in sync with all other replicate regions that exist in its peers.
    `REPLICATE_PERSISTENT_OVERFLOW` A REPLICATE_PERSISTENT_OVERFLOW has local state that is kept in sync with all other replicate regions that exist in its peers.
    `REPLICATE_PROXY` A REPLICATE_PROXY has no local state and forwards all operations (except queries) to a REPLICATE or a REPLICATE_PERSISTENT that exists in its peers.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static RegionShortcut` | `valueOf(java.lang.String name)` Returns the enum constant of this type with the specified name.
    `static RegionShortcut[]` | `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

    - #### PARTITION

          public static final RegionShortcut PARTITION

      A PARTITION has local state that is partitioned across each peer member that created the region. The actual RegionAttributes for a PARTITION region set the `DataPolicy` to `DataPolicy.PARTITION`.

    - #### PARTITION_REDUNDANT

          public static final RegionShortcut PARTITION_REDUNDANT

      A PARTITION_REDUNDANT has local state that is partitioned across each peer member that created the region. In addition an extra copy of the data is kept in memory. The actual RegionAttributes for a PARTITION_REDUNDANT region set the `DataPolicy` to `DataPolicy.PARTITION` and the redundant-copies to 1.

    - #### PARTITION_PERSISTENT

          public static final RegionShortcut PARTITION_PERSISTENT

      A PARTITION_PERSISTENT has local state that is partitioned across each peer member that created the region. In addition its state is written to disk and recovered from disk when the region is created. The actual RegionAttributes for a PARTITION_PERSISTENT region set the `DataPolicy` to `DataPolicy.PERSISTENT_PARTITION`.

    - #### PARTITION_REDUNDANT_PERSISTENT

          public static final RegionShortcut PARTITION_REDUNDANT_PERSISTENT

      A PARTITION_REDUNDANT_PERSISTENT has local state that is partitioned across each peer member that created the region. In addition its state is written to disk and recovered from disk when the region is created. In addition an extra copy of the data is kept in memory. The actual RegionAttributes for a PARTITION_REDUNDANT_PERSISTENT region set the `DataPolicy` to `DataPolicy.PERSISTENT_PARTITION` and the redundant-copies to 1.

    - #### PARTITION_OVERFLOW

          public static final RegionShortcut PARTITION_OVERFLOW

      A PARTITION_OVERFLOW has local state that is partitioned across each peer member that created the region. 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 PARTITION_OVERFLOW region set the `DataPolicy` to `DataPolicy.PARTITION`. and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.OVERFLOW_TO_DISK`.

    - #### PARTITION_REDUNDANT_OVERFLOW

          public static final RegionShortcut PARTITION_REDUNDANT_OVERFLOW

      A PARTITION_REDUNDANT_OVERFLOW has local state that is partitioned across each peer member that created the region. In addition an extra copy of the data is kept in memory. 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 PARTITION_REDUNDANT_OVERFLOW region set the `DataPolicy` to `DataPolicy.PARTITION`, the redundant-copies to 1, and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.OVERFLOW_TO_DISK`.

    - #### PARTITION_PERSISTENT_OVERFLOW

          public static final RegionShortcut PARTITION_PERSISTENT_OVERFLOW

      A PARTITION_PERSISTENT_OVERFLOW has local state that is partitioned across each peer member that created the region. In addition its state is written to disk and recovered from disk 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 PARTITION_PERSISTENT_OVERFLOW region set the `DataPolicy` to `DataPolicy.PERSISTENT_PARTITION` and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.OVERFLOW_TO_DISK`.

    - #### PARTITION_REDUNDANT_PERSISTENT_OVERFLOW

          public static final RegionShortcut PARTITION_REDUNDANT_PERSISTENT_OVERFLOW

      A PARTITION_REDUNDANT_PERSISTENT_OVERFLOW has local state that is partitioned across each peer member that created the region. In addition its state is written to disk and recovered from disk when the region is created. In addition an extra copy of the data is kept in memory. 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 PARTITION_REDUNDANT_PERSISTENT_OVERFLOW region set the `DataPolicy` to `DataPolicy.PERSISTENT_PARTITION`, the redundant-copies to 1, and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.OVERFLOW_TO_DISK`.

    - #### PARTITION_HEAP_LRU

          public static final RegionShortcut PARTITION_HEAP_LRU

      A PARTITION_HEAP_LRU has local state that is partitioned across each peer member that created the region. It will also destroy entries once it detects that the java vm is running low of memory. The actual RegionAttributes for a PARTITION_HEAP_LRU region set the `DataPolicy` to `DataPolicy.PARTITION` and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.LOCAL_DESTROY`.

    - #### PARTITION_REDUNDANT_HEAP_LRU

          public static final RegionShortcut PARTITION_REDUNDANT_HEAP_LRU

      A PARTITION_REDUNDANT_HEAP_LRU has local state that is partitioned across each peer member that created the region. In addition an extra copy of the data is kept in memory. It will also destroy entries once it detects that the java vm is running low of memory. The actual RegionAttributes for a PARTITION_REDUNDANT_HEAP_LRU region set the `DataPolicy` to `DataPolicy.PARTITION`, the redundant-copies to 1, and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.LOCAL_DESTROY`.

    - #### REPLICATE

          public static final RegionShortcut REPLICATE

      A REPLICATE has local state that is kept in sync with all other replicate regions that exist in its peers. The actual RegionAttributes for a REPLICATE region set the `DataPolicy` to `DataPolicy.REPLICATE` and `Scope` to `Scope.DISTRIBUTED_ACK`.

    - #### REPLICATE_PERSISTENT

          public static final RegionShortcut REPLICATE_PERSISTENT

      A REPLICATE_PERSISTENT has local state that is kept in sync with all other replicate regions that exist in its peers. In addition its state is written to disk and recovered from disk when the region is created. The actual RegionAttributes for a REPLICATE_PERSISTENT region set the `DataPolicy` to `DataPolicy.PERSISTENT_REPLICATE` and `Scope` to `Scope.DISTRIBUTED_ACK`.

    - #### REPLICATE_OVERFLOW

          public static final RegionShortcut REPLICATE_OVERFLOW

      A REPLICATE_OVERFLOW has local state that is kept in sync with all other replicate regions that exist in its peers. The actual RegionAttributes for a REPLICATE_OVERFLOW region set the `DataPolicy` to `DataPolicy.REPLICATE`, the `Scope` to `Scope.DISTRIBUTED_ACK` and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.OVERFLOW_TO_DISK`.

    - #### REPLICATE_PERSISTENT_OVERFLOW

          public static final RegionShortcut REPLICATE_PERSISTENT_OVERFLOW

      A REPLICATE_PERSISTENT_OVERFLOW has local state that is kept in sync with all other replicate regions that exist in its peers. In addition its state is written to disk and recovered from disk 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 REPLICATE_PERSISTENT_OVERFLOW region set the `DataPolicy` to `DataPolicy.PERSISTENT_REPLICATE`, the `Scope` to `Scope.DISTRIBUTED_ACK`, and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.OVERFLOW_TO_DISK`.

    - #### REPLICATE_HEAP_LRU

          public static final RegionShortcut REPLICATE_HEAP_LRU

      A REPLICATE_HEAP_LRU has local state that is kept in sync with all other replicate regions that exist in its peers. It will also destroy entries once it detects that the java vm is running low of memory. The actual RegionAttributes for a REPLICATE_HEAP_LRU region set the `DataPolicy` to `DataPolicy.PRELOADED`, the `Scope` to `Scope.DISTRIBUTED_ACK`, `SubscriptionAttributes` to `InterestPolicy.ALL`, and `EvictionAttributes` are set to `EvictionAlgorithm.LRU_HEAP` with `EvictionAction.LOCAL_DESTROY`.

    - #### LOCAL

          public static final RegionShortcut LOCAL

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

    - #### LOCAL_PERSISTENT

          public static final RegionShortcut LOCAL_PERSISTENT

      A LOCAL_PERSISTENT region only has local state and never sends operations to others 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 RegionShortcut LOCAL_HEAP_LRU

      A LOCAL_HEAP_LRU region only has local state and never sends operations to others. 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 RegionShortcut LOCAL_OVERFLOW

      A LOCAL_OVERFLOW region only has local state and never sends operations to others. 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 RegionShortcut LOCAL_PERSISTENT_OVERFLOW

      A LOCAL_PERSISTENT_OVERFLOW region only has local state and never sends operations to others 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`.

    - #### PARTITION_PROXY

          public static final RegionShortcut PARTITION_PROXY

      A PARTITION_PROXY has no local state and forwards all operations to a PARTITION or a PARTITION_PERSISTENT that exists in its peers. The actual RegionAttributes for a PARTITION_PROXY region set the `DataPolicy` to `DataPolicy.PARTITION` and the local-max-memory to 0.

    - #### PARTITION_PROXY_REDUNDANT

          public static final RegionShortcut PARTITION_PROXY_REDUNDANT

      A PARTITION_PROXY_REDUNDANT has no local state and forwards all operations to a PARTITION_REDUNDANT or a PARTITION_REDUNDANT_PERSISTENT that exists in its peers. The actual RegionAttributes for a PARTITION_PROXY_REDUNDANT region set the `DataPolicy` to `DataPolicy.PARTITION`, the local-max-memory to 0, and the redundant-copies to 1.

    - #### REPLICATE_PROXY

          public static final RegionShortcut REPLICATE_PROXY

      A REPLICATE_PROXY has no local state and forwards all operations (except queries) to a REPLICATE or a REPLICATE_PERSISTENT that exists in its peers. Queries will be executed on this PROXY region. The actual RegionAttributes for a REPLICATE_PROXY region set the `DataPolicy` to `DataPolicy.EMPTY` and `Scope` to `Scope.DISTRIBUTED_ACK`.

  - ### Method Detail

    - #### values

          public static RegionShortcut[] 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 (RegionShortcut c : RegionShortcut.values())
              System.out.println(c);

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

    - #### valueOf

          public static RegionShortcut 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