Package 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 manageReferences
. This class can be overridden if alternative reference types need to be supported.
Constructor Summary
Constructors Modifier Constructor Description protected
ReferenceManager()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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
ReferenceManager
protected ReferenceManager()
Method Detail
createReference
public ConcurrentReferenceHashMap.Reference<K,V> createReference(ConcurrentReferenceHashMap.Entry<K,V> entry, int hash, @Nullable ConcurrentReferenceHashMap.Reference<K,V> next)
Factory method used to create a newConcurrentReferenceHashMap.Reference
.- Parameters:
entry
- the entry contained in the referencehash
- the hashnext
- the next reference in the chain, ornull
if none- Returns:
- a new
ConcurrentReferenceHashMap.Reference
pollForPurge
@Nullable 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