Class Weighers
- java.lang.Object
- 
- org.apache.groovy.util.concurrentlinkedhashmap.Weighers
 
- 
 public final class Weighers extends java.lang.ObjectA common set ofWeigherandEntryWeigherimplementations.
- 
- 
Method SummaryAll Methods Static Methods Concrete Methods Modifier and Type Method 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 aCollectionand 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 aIterableand its weight is the number of elements.static <E> Weigher<? super java.util.List<E>>list()A weigher where the value is aListand its weight is the number of elements.static <A,B>
 Weigher<? super java.util.Map<A,B>>map()A weigher where the value is aMapand its weight is the number of entries.static <E> Weigher<? super java.util.Set<E>>set()A weigher where the value is aSetand its weight is the number of elements.static <V> Weigher<V>singleton()A weigher where a value has a weight of 1.
 
- 
- 
- 
Method Detail- 
asEntryWeigherpublic static <K,V> EntryWeigher<K,V> asEntryWeigher(Weigher<? super V> weigher) A entry weigher backed by the specified weigher. The weight of the value determines the weight of the entry.- Parameters:
- weigher- the weigher to be "wrapped" in a entry weigher.
- Returns:
- A entry weigher view of the specified weigher.
 
 - 
entrySingletonpublic static <K,V> EntryWeigher<K,V> entrySingleton() 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.- Returns:
- A weigher where a value takes one unit of capacity.
 
 - 
singletonpublic static <V> Weigher<V> singleton() 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.- Returns:
- A weigher where a value takes one unit of capacity.
 
 - 
byteArraypublic static Weigher<byte[]> byteArray() 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. - Returns:
- A weigher where each byte takes one unit of capacity.
 
 - 
iterablepublic static <E> Weigher<? super java.lang.Iterable<E>> iterable() A weigher where the value is aIterableand its weight is the number of elements. This weigher only should be used when the alternativecollection()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. - Returns:
- A weigher where each element takes one unit of capacity.
 
 - 
collectionpublic static <E> Weigher<? super java.util.Collection<E>> collection() A weigher where the value is aCollectionand 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. - Returns:
- A weigher where each element takes one unit of capacity.
 
 - 
listpublic static <E> Weigher<? super java.util.List<E>> list() A weigher where the value is aListand 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. - Returns:
- A weigher where each element takes one unit of capacity.
 
 - 
setpublic static <E> Weigher<? super java.util.Set<E>> set() A weigher where the value is aSetand 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. - Returns:
- A weigher where each element takes one unit of capacity.
 
 - 
mappublic static <A,B> Weigher<? super java.util.Map<A,B>> map() A weigher where the value is aMapand 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. - Returns:
- A weigher where each entry takes one unit of capacity.
 
 
- 
 
-