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 manage `ConcurrentReferenceHashMap.Reference`s. This class can be overridden if alternative reference types need to be supported.

### Constructor Summary

Constructors
`protected` `ConcurrentReferenceHashMap.ReferenceManager()`

### Method Summary

Methods
`ConcurrentReferenceHashMap.Reference<K,V>` `createReference(ConcurrentReferenceHashMap.Entry<K,V> entry, int hash, ConcurrentReferenceHashMap.Reference<K,V> next)` Factory method used to create a new `ConcurrentReferenceHashMap.Reference`.
`ConcurrentReferenceHashMap.Reference<K,V>` `pollForPurge()` Return any reference that has been garbage collected and can be purged from the underlying structure or `null` if no references need purging.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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 new `ConcurrentReferenceHashMap.Reference`.

Parameters:
  `entry` - the entry contained in the reference
  `hash` - the hash
  `next` - the next reference in the chain or `null`
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 or `null` if no references need purging. This method must be thread safe and ideally should not block when returning `null`. References should be returned once and only once.

Returns:
  a reference to purge or `null`