Package com.atlassian.bamboo.util
Class BambooMaps
java.lang.Object
com.atlassian.bamboo.util.BambooMaps
-
Method Summary
Modifier and TypeMethodDescriptionstatic <K,V> Map<K, V> generateMap(@NotNull Set<K> keys, @NotNull Function<K, V> generator) Convenience method for generating map out of set of keys, and value generator.static <K,V> LinkedHashMap<K, V> mutableLinkedUniqueIndex(Iterable<? extends V> values, Function<? super V, ? extends K> indexGenerator) static <K,V> Map<K, V> mutableUniqueIndex(Iterable<? extends V> values, Function<? super V, ? extends K> indexGenerator) static <K,V> Map<K, V> newLinkedHashMapWithLimitedSize(int maxSize) static <K,V> @NotNull com.google.common.cache.CacheLoader<? super K, io.atlassian.fugue.Option<V>> nullMasquingLoader(com.google.common.cache.CacheLoader<? super K, ? extends V> nullReturningLoader) static <K,V> V populateMap(@NotNull Map<K, V> map, V input, @NotNull Function<? super V, ? extends K> indexGenerator) Add entry to the map usingFunctionto generate a keystatic <K,V> void Removes entries that match the supplied predicatestatic <K,V> void
-
Method Details
-
newLinkedHashMapWithLimitedSize
-
putAll
-
mutableUniqueIndex
-
mutableLinkedUniqueIndex
public static <K,V> LinkedHashMap<K,V> mutableLinkedUniqueIndex(Iterable<? extends V> values, Function<? super V, ? extends K> indexGenerator) -
populateMap
public static <K,V> V populateMap(@NotNull @NotNull Map<K, V> map, @NotNull V input, @NotNull @NotNull Function<? super V, ? extends K> indexGenerator) Add entry to the map usingFunctionto generate a key- Parameters:
map- map that will get an extra elementinput- element to be added to mapindexGenerator- function that will generate key for a given element- Returns:
- same behavior as
Map.put(Object, Object)
-
nullMasquingLoader
@NotNull public static <K,V> @NotNull com.google.common.cache.CacheLoader<? super K,io.atlassian.fugue.Option<V>> nullMasquingLoader(com.google.common.cache.CacheLoader<? super K, ? extends V> nullReturningLoader) -
generateMap
public static <K,V> Map<K,V> generateMap(@NotNull @NotNull Set<K> keys, @NotNull @NotNull Function<K, V> generator) Convenience method for generating map out of set of keys, and value generator. Should be used for small maps. For more sophisticated uses consider using Guava's CacheBuilder. -
prune
public static <K,V> void prune(@NotNull @NotNull Map<K, V> map, @NotNull @NotNull Predicate<Map.Entry<K, V>> predicate) Removes entries that match the supplied predicate
-