public final class Weighers extends Object
A common set of Weigher and EntryWeigher implementations.
Type Params | Return Type | Name and description |
---|---|---|
<K, V> |
public static EntryWeigher<K, V> |
asEntryWeigher(Weigher<? super V> weigher) An entry weigher backed by the specified weigher. |
|
public static Weigher<byte[]> |
byteArray() A weigher where the value is a byte array and its weight is the number of bytes. |
<E> |
public static Weigher<? super Collection<E>> |
collection() A weigher where the value is a Collection and its weight is the number of elements. |
<K, V> |
public static EntryWeigher<K, V> |
entrySingleton() A weigher where an entry has a weight of 1. |
<E> |
public static Weigher<? super Iterable<E>> |
iterable() A weigher where the value is a Iterable and its weight is the number of elements. |
<E> |
public static Weigher<? super List<E>> |
list() A weigher where the value is a List and its weight is the number of elements. |
<A, B> |
public static Weigher<? super Map<A, B>> |
map() A weigher where the value is a Map and its weight is the number of entries. |
<E> |
public static Weigher<? super Set<E>> |
set() A weigher where the value is a Set and its weight is the number of elements. |
<V> |
public static Weigher<V> |
singleton() A weigher where a value has a weight of 1. |
An entry weigher backed by the specified weigher. The weight of the value determines the weight of the entry.
weigher
- the weigher to be "wrapped" in an entry weigher.A weigher where the value is a byte array and its weight is the number of bytes. A map bounded with this weigher will evict when the number of bytes exceeds the capacity rather than the number of key-value pairs in the map. This allows for restricting the capacity based on the memory-consumption and is primarily for usage by dedicated caching servers that hold the serialized data.
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 weigher where the value is a 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.
A weigher where an entry has a weight of 1. A map bounded with this weigher will evict when the number of key-value pairs exceeds the capacity.
A weigher where the value is a 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.
A weigher where the value is a 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.
A weigher where the value is a 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 weigher where the value is a 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.
A weigher where a value has a weight of 1. A map bounded with this weigher will evict when the number of key-value pairs exceeds the capacity.