org.springframework.util
Class ConcurrentReferenceHashMap.ReferenceManager
- java.lang.Object
-
- org.springframework.util.ConcurrentReferenceHashMap.ReferenceManager
-
- Enclosing class:
- ConcurrentReferenceHashMap< K, V>
protected class ConcurrentReferenceHashMap.ReferenceManager extends Object
Strategy class used to manageConcurrentReferenceHashMap.Reference
s. This class can be overridden if alternative reference types need to be supported.
-
Constructor Summary
Constructors Modifier Constructor and Description protected
ConcurrentReferenceHashMap.ReferenceManager()
Method Summary
Methods Modifier and Type Method and Description ConcurrentReferenceHashMap.Reference<K,V>
createReference(ConcurrentReferenceHashMap.Entry<K,V> entry, int hash, ConcurrentReferenceHashMap.Reference<K,V> next)
Factory method used to create a newConcurrentReferenceHashMap.Reference
.ConcurrentReferenceHashMap.Reference<K,V>
pollForPurge()
Return any reference that has been garbage collected and can be purged from the underlying structure ornull
if no references need purging.
-
Constructor Detail
ConcurrentReferenceHashMap.ReferenceManager
protected ConcurrentReferenceHashMap.ReferenceManager()
Method Detail
createReference
public ConcurrentReferenceHashMap.Reference<K,V> createReference(ConcurrentReferenceHashMap.Entry<K,V> entry, int hash, ConcurrentReferenceHashMap.Reference<K,V> next)
Factory method used to create a newConcurrentReferenceHashMap.Reference
.- Parameters:
-
entry
- the entry contained in the reference -
hash
- the hash -
next
- the next reference in the chain ornull
- Returns:
-
a new
ConcurrentReferenceHashMap.Reference
pollForPurge
public ConcurrentReferenceHashMap.Reference<K,V> pollForPurge()
Return any reference that has been garbage collected and can be purged from the underlying structure ornull
if no references need purging. This method must be thread safe and ideally should not block when returningnull
. References should be returned once and only once.- Returns:
-
a reference to purge or
null