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