org.hibernate.internal.util.collections
Interface BoundedConcurrentHashMap.EvictionPolicy<K,V>

Enclosing class:
BoundedConcurrentHashMap<K,V>

public static interface BoundedConcurrentHashMap.EvictionPolicy<K,V>


Field Summary
static int MAX_BATCH_SIZE
           
 
Method Summary
 void clear()
          Invoked to notify EvictionPolicy implementation that all Segment entries have been cleared.
 org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V> createNewEntry(K key, int hash, org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V> next, V value)
           
 Set<org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V>> execute()
          Invokes eviction policy algorithm and returns set of evicted entries.
 boolean onEntryHit(org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V> e)
          Invoked to notify EvictionPolicy implementation that an entry in Segment has been accessed.
 Set<org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V>> onEntryMiss(org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V> e)
          Invoked to notify EvictionPolicy implementation that there has been an attempt to access an entry in Segment, however that entry was not present in Segment.
 void onEntryRemove(org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V> e)
          Invoked to notify EvictionPolicy implementation that an entry e has been removed from Segment.
 BoundedConcurrentHashMap.Eviction strategy()
          Returns type of eviction algorithm (strategy).
 boolean thresholdExpired()
          Returns true if batching threshold has expired, false otherwise.
 

Field Detail

MAX_BATCH_SIZE

static final int MAX_BATCH_SIZE
See Also:
Constant Field Values
Method Detail

createNewEntry

org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V> createNewEntry(K key,
                                                                                               int hash,
                                                                                               org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V> next,
                                                                                               V value)

execute

Set<org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V>> execute()
Invokes eviction policy algorithm and returns set of evicted entries.

Set cannot be null but could possibly be an empty set.

Returns:
set of evicted entries.

onEntryMiss

Set<org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V>> onEntryMiss(org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V> e)
Invoked to notify EvictionPolicy implementation that there has been an attempt to access an entry in Segment, however that entry was not present in Segment.

Parameters:
e - accessed entry in Segment
Returns:
non null set of evicted entries.

onEntryHit

boolean onEntryHit(org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V> e)
Invoked to notify EvictionPolicy implementation that an entry in Segment has been accessed. Returns true if batching threshold has been reached, false otherwise.

Note that this method is potentially invoked without holding a lock on Segment.

Parameters:
e - accessed entry in Segment
Returns:
true if batching threshold has been reached, false otherwise.

onEntryRemove

void onEntryRemove(org.hibernate.internal.util.collections.BoundedConcurrentHashMap.HashEntry<K,V> e)
Invoked to notify EvictionPolicy implementation that an entry e has been removed from Segment.

Parameters:
e - removed entry in Segment

clear

void clear()
Invoked to notify EvictionPolicy implementation that all Segment entries have been cleared.


strategy

BoundedConcurrentHashMap.Eviction strategy()
Returns type of eviction algorithm (strategy).

Returns:
type of eviction algorithm

thresholdExpired

boolean thresholdExpired()
Returns true if batching threshold has expired, false otherwise.

Note that this method is potentially invoked without holding a lock on Segment.

Returns:
true if batching threshold has expired, false otherwise.


Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.