org.apache.openjpa.lib.util.concurrent
Class NullSafeConcurrentHashMap
java.lang.Object
java.util.AbstractMap<K,V>
java.util.concurrent.ConcurrentHashMap
org.apache.openjpa.lib.util.concurrent.NullSafeConcurrentHashMap
- All Implemented Interfaces:
- java.io.Serializable, java.util.concurrent.ConcurrentMap, java.util.Map
- Direct Known Subclasses:
- SizedConcurrentHashMap
public class NullSafeConcurrentHashMap
- extends java.util.concurrent.ConcurrentHashMap
A subclass of ConcurrentHashMap
that allows null keys and values.
In exchange, it weakens the contract of putIfAbsent(java.lang.Object, java.lang.Object)
and the other
concurrent methods added in #ConcurrentHashMap
.
- Since:
- 1.1.0
- See Also:
- Serialized Form
Nested classes/interfaces inherited from class java.util.AbstractMap |
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V> |
Nested classes/interfaces inherited from interface java.util.Map |
java.util.Map.Entry<K,V> |
Method Summary |
boolean |
contains(java.lang.Object value)
|
boolean |
containsKey(java.lang.Object key)
|
boolean |
containsValue(java.lang.Object value)
|
java.util.Enumeration |
elements()
|
java.util.Set |
entrySet()
|
java.lang.Object |
get(java.lang.Object key)
|
java.util.Enumeration |
keys()
|
java.util.Set |
keySet()
|
java.lang.Object |
put(java.lang.Object key,
java.lang.Object value)
|
java.lang.Object |
putIfAbsent(java.lang.Object key,
java.lang.Object value)
|
java.util.Iterator<java.util.Map.Entry> |
randomEntryIterator()
The returned data structure should not be shared among multiple
threads. |
java.lang.Object |
remove(java.lang.Object key)
|
boolean |
remove(java.lang.Object key,
java.lang.Object value)
|
java.util.Map.Entry |
removeRandom()
|
java.lang.Object |
replace(java.lang.Object key,
java.lang.Object value)
|
boolean |
replace(java.lang.Object key,
java.lang.Object oldValue,
java.lang.Object newValue)
|
java.util.Collection |
values()
|
Methods inherited from class java.util.concurrent.ConcurrentHashMap |
clear, isEmpty, putAll, size |
Methods inherited from class java.util.AbstractMap |
clone, equals, hashCode, toString |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Map |
equals, hashCode |
NullSafeConcurrentHashMap
public NullSafeConcurrentHashMap(int size,
float load,
int concurrencyLevel)
NullSafeConcurrentHashMap
public NullSafeConcurrentHashMap()
removeRandom
public java.util.Map.Entry removeRandom()
randomEntryIterator
public java.util.Iterator<java.util.Map.Entry> randomEntryIterator()
- The returned data structure should not be shared among multiple
threads.
remove
public java.lang.Object remove(java.lang.Object key)
- Specified by:
remove
in interface java.util.Map
- Overrides:
remove
in class java.util.concurrent.ConcurrentHashMap
remove
public boolean remove(java.lang.Object key,
java.lang.Object value)
- Specified by:
remove
in interface java.util.concurrent.ConcurrentMap
- Overrides:
remove
in class java.util.concurrent.ConcurrentHashMap
replace
public boolean replace(java.lang.Object key,
java.lang.Object oldValue,
java.lang.Object newValue)
- Specified by:
replace
in interface java.util.concurrent.ConcurrentMap
- Overrides:
replace
in class java.util.concurrent.ConcurrentHashMap
replace
public java.lang.Object replace(java.lang.Object key,
java.lang.Object value)
- Specified by:
replace
in interface java.util.concurrent.ConcurrentMap
- Overrides:
replace
in class java.util.concurrent.ConcurrentHashMap
putIfAbsent
public java.lang.Object putIfAbsent(java.lang.Object key,
java.lang.Object value)
- Specified by:
putIfAbsent
in interface java.util.concurrent.ConcurrentMap
- Overrides:
putIfAbsent
in class java.util.concurrent.ConcurrentHashMap
put
public java.lang.Object put(java.lang.Object key,
java.lang.Object value)
- Specified by:
put
in interface java.util.Map
- Overrides:
put
in class java.util.concurrent.ConcurrentHashMap
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
get
in interface java.util.Map
- Overrides:
get
in class java.util.concurrent.ConcurrentHashMap
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey
in interface java.util.Map
- Overrides:
containsKey
in class java.util.concurrent.ConcurrentHashMap
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue
in interface java.util.Map
- Overrides:
containsValue
in class java.util.concurrent.ConcurrentHashMap
contains
public boolean contains(java.lang.Object value)
- Overrides:
contains
in class java.util.concurrent.ConcurrentHashMap
elements
public java.util.Enumeration elements()
- Overrides:
elements
in class java.util.concurrent.ConcurrentHashMap
entrySet
public java.util.Set entrySet()
- Specified by:
entrySet
in interface java.util.Map
- Overrides:
entrySet
in class java.util.concurrent.ConcurrentHashMap
keys
public java.util.Enumeration keys()
- Overrides:
keys
in class java.util.concurrent.ConcurrentHashMap
keySet
public java.util.Set keySet()
- Specified by:
keySet
in interface java.util.Map
- Overrides:
keySet
in class java.util.concurrent.ConcurrentHashMap
values
public java.util.Collection values()
- Specified by:
values
in interface java.util.Map
- Overrides:
values
in class java.util.concurrent.ConcurrentHashMap