org.apache.geode.cache

## Interface Region.Entry<K,V>

- All Superinterfaces:
    java.util.Map.Entry<K,V>
  Enclosing interface:
    Region<K,V>

      public static interface Region.Entry<K,V>
      extends java.util.Map.Entry<K,V>

  A key-value pair containing the cached data in a region. This object's operations (except for{Entry#setValue()}), are not distributed, do not acquire any locks, and do not affect `CacheStatistics`.

  Unless otherwise noted, all of these methods throw a `CacheClosedException` if the Cache is closed at the time of invocation, or an `EntryDestroyedException` if the entry has been destroyed.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `K` | `getKey()` Returns the key for this entry.
    `Region<K,V>` | `getRegion()` Returns the region that contains this entry.
    `CacheStatistics` | `getStatistics()` Returns the statistics for this entry.
    `java.lang.Object` | `getUserAttribute()` Returns the user attribute for this entry in the local cache.
    `V` | `getValue()` Returns the value of this entry in the local cache.
    `boolean` | `isDestroyed()` Returns whether this entry has been destroyed.
    `boolean` | `isLocal()` This method checks to see if the entry is in the in-process cache, or is in another process.
    `java.lang.Object` | `setUserAttribute(java.lang.Object userAttribute)` Sets the user attribute for this entry.
    `V` | `setValue(V value)` Sets the value of this entry.

    - ### Methods inherited from interface java.util.Map.Entry

      `comparingByKey, comparingByKey, comparingByValue, comparingByValue, equals, hashCode`

- - ### Method Detail

    - #### getKey

          K getKey()

      Returns the key for this entry.
      Specified by:
        `getKey` in interface `java.util.Map.Entry<K,V>`
      Returns:
        the key for this entry

    - #### getValue

          V getValue()

      Returns the value of this entry in the local cache. Does not invoke a `CacheLoader`, does not do a netSearch, netLoad, etc.
      Specified by:
        `getValue` in interface `java.util.Map.Entry<K,V>`
      Returns:
        the value or `null` if this entry is invalid

    - #### getRegion

          Region<K,V> getRegion()

      Returns the region that contains this entry.
      Returns:
        the Region that contains this entry

    - #### isLocal

          boolean isLocal()

      This method checks to see if the entry is in the in-process cache, or is in another process. Only Regions with `DataPolicy.PARTITION` may return false in response to this query. A non-local Entry will not reflect dynamic changes being made to the cache. For instance, the result of getValue() will not change, even though the cache may have been updated for the corresponding key. To see an updated snapshot of a non-local Entry, you must fetch the entry from the Region again.

    - #### getStatistics

          CacheStatistics getStatistics()

      Returns the statistics for this entry.
      Returns:
        the CacheStatistics for this entry
      Throws:
        `StatisticsDisabledException` - if statistics have been disabled for this region

    - #### getUserAttribute

          java.lang.Object getUserAttribute()

      Returns the user attribute for this entry in the local cache.
      Returns:
        the user attribute for this entry

    - #### setUserAttribute

          java.lang.Object setUserAttribute(java.lang.Object userAttribute)

      Sets the user attribute for this entry. Does not distribute the user attribute to other caches.
      Parameters:
        `userAttribute` - the user attribute for this entry
      Returns:
        the previous user attribute or null no user attributes has been set for this entry

    - #### isDestroyed

          boolean isDestroyed()

      Returns whether this entry has been destroyed.

      Does not throw a `EntryDestroyedException` if this entry has been destroyed.

      Returns:
        true if this entry has been destroyed

    - #### setValue

          V setValue(V value)

      Sets the value of this entry. It has similar to calling a put on the key of this Entry
      Specified by:
        `setValue` in interface `java.util.Map.Entry<K,V>`
      Parameters:
        `value` - Object the value to be set
      Returns:
        the previous value object stored locally for this entry. If the entry did not exist then `null` is returned. If the entry was "invalid" then `null` is returned. In some cases `null` may be returned even if a previous value exists. If the region is a client proxy then `null` is returned. If the region is off-heap and the old value was stored in off-heap memory then `null` is returned. If the region is partitioned and the setValue is done on a non-primary then `null` is returned. If the value is not currently stored in memory but is on disk and if the region does not have cqs then `null` is returned.
      Since:
        GemFire 5.0
      See Also:
        `Region.put(Object, Object)`