public final class Weighers
extends java.lang.Object
Weigher and EntryWeigher implementations.| Modifier and Type | Method and Description | 
|---|---|
static <K,V> EntryWeigher<K,V> | 
asEntryWeigher(Weigher<? super V> weigher)
A entry weigher backed by the specified weigher. 
 | 
static Weigher<byte[]> | 
byteArray()
A weigher where the value is a byte array and its weight is the number of
 bytes. 
 | 
static <E> Weigher<? super java.util.Collection<E>> | 
collection()
A weigher where the value is a  
Collection and its weight is the
 number of elements. | 
static <K,V> EntryWeigher<K,V> | 
entrySingleton()
A weigher where an entry has a weight of 1. 
 | 
static <E> Weigher<? super java.lang.Iterable<E>> | 
iterable()
A weigher where the value is a  
Iterable and its weight is the
 number of elements. | 
static <E> Weigher<? super java.util.List<E>> | 
list()
A weigher where the value is a  
List and its weight is the number
 of elements. | 
static <A,B> Weigher<? super java.util.Map<A,B>> | 
map()
A weigher where the value is a  
Map and its weight is the number of
 entries. | 
static <E> Weigher<? super java.util.Set<E>> | 
set()
A weigher where the value is a  
Set and its weight is the number
 of elements. | 
static <V> Weigher<V> | 
singleton()
A weigher where a value has a weight of 1. 
 | 
public static <K,V> EntryWeigher<K,V> asEntryWeigher(Weigher<? super V> weigher)
K - The key typeV - The value typeweigher - the weigher to be "wrapped" in a entry weigher.public static <K,V> EntryWeigher<K,V> entrySingleton()
K - The key typeV - The value typepublic static <V> Weigher<V> singleton()
V - The value typepublic static Weigher<byte[]> byteArray()
A value with a weight of 0 will be rejected by the map. If a value with this weight can occur then the caller should eagerly evaluate the value and treat it as a removal operation. Alternatively, a custom weigher may be specified on the map to assign an empty value a positive weight.
public static <E> Weigher<? super java.lang.Iterable<E>> iterable()
Iterable and its weight is the
 number of elements. This weigher only should be used when the alternative
 collection() weigher cannot be, as evaluation takes O(n) time. A
 map bounded with this weigher will evict when the total number of elements
 exceeds the capacity rather than the number of key-value pairs in the map.
 A value with a weight of 0 will be rejected by the map. If a value with this weight can occur then the caller should eagerly evaluate the value and treat it as a removal operation. Alternatively, a custom weigher may be specified on the map to assign an empty value a positive weight.
E - The element typepublic static <E> Weigher<? super java.util.Collection<E>> collection()
Collection and its weight is the
 number of elements. A map bounded with this weigher will evict when the
 total number of elements exceeds the capacity rather than the number of
 key-value pairs in the map.
 A value with a weight of 0 will be rejected by the map. If a value with this weight can occur then the caller should eagerly evaluate the value and treat it as a removal operation. Alternatively, a custom weigher may be specified on the map to assign an empty value a positive weight.
E - The element typepublic static <E> Weigher<? super java.util.List<E>> list()
List and its weight is the number
 of elements. A map bounded with this weigher will evict when the total
 number of elements exceeds the capacity rather than the number of
 key-value pairs in the map.
 A value with a weight of 0 will be rejected by the map. If a value with this weight can occur then the caller should eagerly evaluate the value and treat it as a removal operation. Alternatively, a custom weigher may be specified on the map to assign an empty value a positive weight.
E - The element typepublic static <E> Weigher<? super java.util.Set<E>> set()
Set and its weight is the number
 of elements. A map bounded with this weigher will evict when the total
 number of elements exceeds the capacity rather than the number of
 key-value pairs in the map.
 A value with a weight of 0 will be rejected by the map. If a value with this weight can occur then the caller should eagerly evaluate the value and treat it as a removal operation. Alternatively, a custom weigher may be specified on the map to assign an empty value a positive weight.
E - The element typepublic static <A,B> Weigher<? super java.util.Map<A,B>> map()
Map and its weight is the number of
 entries. A map bounded with this weigher will evict when the total number of
 entries across all values exceeds the capacity rather than the number of
 key-value pairs in the map.
 A value with a weight of 0 will be rejected by the map. If a value with this weight can occur then the caller should eagerly evaluate the value and treat it as a removal operation. Alternatively, a custom weigher may be specified on the map to assign an empty value a positive weight.
A - The key typeB - The value type