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  Collectionand 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  Iterableand its weight is the
 number of elements. | 
| static <E> Weigher<? super java.util.List<E>> | list()A weigher where the value is a  Listand 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  Mapand its weight is the number of
 entries. | 
| static <E> Weigher<? super java.util.Set<E>> | set()A weigher where the value is a  Setand 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)
weigher - the weigher to be "wrapped" in a entry weigher.public static <K,V> EntryWeigher<K,V> entrySingleton()
public static <V> Weigher<V> singleton()
public 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.
public 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.
public 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.
public 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.
public 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.