Skip navigation links

Oracle® Coherence Java API Reference
Release 3.7.0.0

E18683-01


com.tangosol.util
Class WrapperCollections.ConcurrentWrapperEntry

java.lang.Object
  extended by com.tangosol.util.WrapperCollections.ConcurrentWrapperEntry

All Implemented Interfaces:
java.util.Map.Entry
Enclosing class:
WrapperCollections

public static class WrapperCollections.ConcurrentWrapperEntry
extends java.lang.Object
implements java.util.Map.Entry

Map Entry implementation which uses a ReadWriteLock to manage concurrent access to an underlying Map Entry.

Since:
Coherence 3.7

Field Summary
protected  java.util.Map.Entry m_entryDelegate
          The Collection to which this wrapper delegates.
protected  java.util.concurrent.locks.ReadWriteLock m_lock
          The read/write lock for concurrency control.
protected  java.util.concurrent.locks.Lock m_lockExclusive
          The exclusive lock for performing read/write operations.
protected  java.util.concurrent.locks.Lock m_lockShared
          The shared lock for performing read operations.

 

Constructor Summary
  WrapperCollections.ConcurrentWrapperEntry(java.util.Map.Entry entry)
          Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.
protected WrapperCollections.ConcurrentWrapperEntry(java.util.Map.Entry entry, java.util.concurrent.locks.ReadWriteLock lock)
          Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.
protected WrapperCollections.ConcurrentWrapperEntry(java.util.Map.Entry entry, java.util.concurrent.locks.ReadWriteLock lock, boolean fStrict)
          Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.

 

Method Summary
 boolean equals(java.lang.Object o)
          Compares the specified object with this entry for equality.
protected  java.util.Map.Entry getDelegate()
          Return the Collection to which all operations should be delegated to.
 java.lang.Object getKey()
          Returns the key corresponding to this entry.
protected  java.util.concurrent.locks.ReadWriteLock getLock()
          Return the ReadWriteLock that is used to manage concurrent access and modifications to the underlying map.
 java.lang.Object getValue()
          Returns the value corresponding to this entry.
 int hashCode()
          Returns the hash code value for this map entry.
 java.lang.Object setValue(java.lang.Object value)
          Replaces the value corresponding to this entry with the specified value (optional operation).
 java.lang.String toString()
          

 

Field Detail

m_entryDelegate

protected final java.util.Map.Entry m_entryDelegate
The Collection to which this wrapper delegates.

m_lock

protected final java.util.concurrent.locks.ReadWriteLock m_lock
The read/write lock for concurrency control.

m_lockShared

protected final java.util.concurrent.locks.Lock m_lockShared
The shared lock for performing read operations.

Note: This field is null if read-only operations are not supposed to be protected, i.e. if the "strict" option is not used.


m_lockExclusive

protected final java.util.concurrent.locks.Lock m_lockExclusive
The exclusive lock for performing read/write operations.

Constructor Detail

WrapperCollections.ConcurrentWrapperEntry

public WrapperCollections.ConcurrentWrapperEntry(java.util.Map.Entry entry)
Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.
Parameters:
entry - the Map Entry to delegate all calls to

WrapperCollections.ConcurrentWrapperEntry

protected WrapperCollections.ConcurrentWrapperEntry(java.util.Map.Entry entry,
                                                    java.util.concurrent.locks.ReadWriteLock lock)
Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.
Parameters:
entry - the Map Entry to delegate all calls to
lock - a read/write lock for concurrency management

WrapperCollections.ConcurrentWrapperEntry

protected WrapperCollections.ConcurrentWrapperEntry(java.util.Map.Entry entry,
                                                    java.util.concurrent.locks.ReadWriteLock lock,
                                                    boolean fStrict)
Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.
Parameters:
entry - the Map Entry to delegate all calls to
lock - a read/write lock for concurrency management
fStrict - pass true to protect all Entry methods; false to protect only the setValue() method

Method Detail

getKey

public java.lang.Object getKey()
Returns the key corresponding to this entry.
Specified by:
getKey in interface java.util.Map.Entry
Returns:
the key corresponding to this entry.

getValue

public java.lang.Object getValue()
Returns the value corresponding to this entry. If the mapping has been removed from the backing map (by the iterator's remove operation), the results of this call are undefined.
Specified by:
getValue in interface java.util.Map.Entry
Returns:
the value corresponding to this entry.

setValue

public java.lang.Object setValue(java.lang.Object value)
Replaces the value corresponding to this entry with the specified value (optional operation). (Writes through to the map.) The behavior of this call is undefined if the mapping has already been removed from the map (by the iterator's remove operation).
Specified by:
setValue in interface java.util.Map.Entry
Parameters:
value - new value to be stored in this entry.
Returns:
old value corresponding to the entry.

equals

public boolean equals(java.lang.Object o)
Compares the specified object with this entry for equality. Returns true if the given object is also a map entry and the two entries represent the same mapping. More formally, two entries e1 and e2 represent the same mapping if
     (e1.getKey()==null ?
      e2.getKey()==null : e1.getKey().equals(e2.getKey()))  &&
     (e1.getValue()==null ?
      e2.getValue()==null : e1.getValue().equals(e2.getValue()))
 
This ensures that the equals method works properly across different implementations of the Map.Entry interface.
Specified by:
equals in interface java.util.Map.Entry
Parameters:
o - object to be compared for equality with this map entry.
Returns:
true if the specified object is equal to this map entry.

hashCode

public int hashCode()
Returns the hash code value for this map entry. The hash code of a map entry e is defined to be:
     (e.getKey()==null   ? 0 : e.getKey().hashCode()) ^
     (e.getValue()==null ? 0 : e.getValue().hashCode())
 
This ensures that e1.equals(e2) implies that e1.hashCode()==e2.hashCode() for any two Entries e1 and e2, as required by the general contract of Object.hashCode.
Specified by:
hashCode in interface java.util.Map.Entry
Returns:
the hash code value for this map entry.
See Also:
Object.hashCode(), Object.equals(Object), Map.Entry.equals(Object)

toString

public java.lang.String toString()

getDelegate

protected java.util.Map.Entry getDelegate()
Return the Collection to which all operations should be delegated to.
Returns:
the wrapped Collection

getLock

protected java.util.concurrent.locks.ReadWriteLock getLock()
Return the ReadWriteLock that is used to manage concurrent access and modifications to the underlying map.
Returns:
the ReadWriteLock

Skip navigation links

Oracle® Coherence Java API Reference
Release 3.7.0.0

E18683-01


Copyright © 2000, 2011, Oracle and/or its affiliates. All rights reserved.