Interface Weigher<K,V>
- Type Parameters:
K
- the type of keysV
- the type of values
- All Known Implementing Classes:
Async.AsyncWeigher
,BoundedWeigher
,SingletonWeigher
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Calculates the weights of cache entries. The total weight threshold is used to determine when an
eviction is required.
-
Method Summary
Modifier and TypeMethodDescriptionstatic <K,
V> Weigher<K, V> boundedWeigher
(Weigher<K, V> delegate) Returns a weigher that enforces that the weight is non-negative.static <K,
V> Weigher<K, V> Returns a weigher where an entry has a weight of1
.int
Returns the weight of a cache entry.
-
Method Details
-
weigh
Returns the weight of a cache entry. There is no unit for entry weights; rather they are simply relative to each other.- Parameters:
key
- the key to weighvalue
- the value to weigh- Returns:
- the weight of the entry; must be non-negative
-
singletonWeigher
Returns a weigher where an entry has a weight of1
.- Type Parameters:
K
- the type of keysV
- the type of values- Returns:
- a weigher where an entry has a weight of
1
-
boundedWeigher
Returns a weigher that enforces that the weight is non-negative.- Type Parameters:
K
- the type of keysV
- the type of values- Parameters:
delegate
- the weigher to that weighs the entry- Returns:
- a weigher that enforces that the weight is non-negative
-