Package com.tangosol.util
Class WrapperCollections.ConcurrentWrapperEntry<K,V>
- java.lang.Object
-
- com.tangosol.util.WrapperCollections.ConcurrentWrapperEntry<K,V>
-
- All Implemented Interfaces:
Map.Entry<K,V>
- Enclosing class:
- WrapperCollections
public static class WrapperCollections.ConcurrentWrapperEntry<K,V> extends Object implements Map.Entry<K,V>
Map Entry implementation which uses a ReadWriteLock to manage concurrent access to an underlying Map Entry.- Since:
- Coherence 3.7
-
-
Field Summary
Fields Modifier and Type Field Description protected ReadWriteLock
m_lock
The read/write lock for concurrency control.protected Lock
m_lockExclusive
The exclusive lock for performing read/write operations.protected Lock
m_lockShared
The shared lock for performing read operations.
-
Constructor Summary
Constructors Modifier Constructor Description ConcurrentWrapperEntry(Map.Entry<K,V> entry)
Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.protected
ConcurrentWrapperEntry(Map.Entry<K,V> entry, ReadWriteLock lock)
Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.protected
ConcurrentWrapperEntry(Map.Entry<K,V> entry, ReadWriteLock lock, boolean fStrict)
Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
protected Map.Entry<K,V>
getDelegate()
Return the Collection to which all operations should be delegated to.K
getKey()
protected ReadWriteLock
getLock()
Return the ReadWriteLock that is used to manage concurrent access and modifications to the underlying map.V
getValue()
int
hashCode()
V
setValue(V value)
String
toString()
-
-
-
Field Detail
-
m_lock
protected final ReadWriteLock m_lock
The read/write lock for concurrency control.
-
m_lockShared
protected final 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 Lock m_lockExclusive
The exclusive lock for performing read/write operations.
-
-
Constructor Detail
-
ConcurrentWrapperEntry
public ConcurrentWrapperEntry(Map.Entry<K,V> entry)
Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.- Parameters:
entry
- the Map Entry to delegate all calls to
-
ConcurrentWrapperEntry
protected ConcurrentWrapperEntry(Map.Entry<K,V> entry, ReadWriteLock lock)
Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.- Parameters:
entry
- the Map Entry to delegate all calls tolock
- a read/write lock for concurrency management
-
ConcurrentWrapperEntry
protected ConcurrentWrapperEntry(Map.Entry<K,V> entry, ReadWriteLock lock, boolean fStrict)
Create an ConcurrentWrapperEntry which delegates to the specified Map Entry.- Parameters:
entry
- the Map Entry to delegate all calls tolock
- a read/write lock for concurrency managementfStrict
- pass true to protect all Entry methods; false to protect only the setValue() method
-
-
Method Detail
-
equals
public boolean equals(Object o)
-
hashCode
public int hashCode()
-
getDelegate
protected Map.Entry<K,V> getDelegate()
Return the Collection to which all operations should be delegated to.- Returns:
- the wrapped Collection
-
getLock
protected ReadWriteLock getLock()
Return the ReadWriteLock that is used to manage concurrent access and modifications to the underlying map.- Returns:
- the ReadWriteLock
-
-