com.atlassian.bamboo.util
Class BambooMaps

java.lang.Object
  extended by com.atlassian.bamboo.util.BambooMaps

public class BambooMaps
extends Object


Method Summary
static
<K,V> Map<K,V>
generateMap(Set<K> keys, com.google.common.base.Function<K,V> generator)
          Convenience method for generating map out of set of keys, and value generator.
static
<K,V> com.google.common.base.Function<K,V>
getWithDefault(Map<K,V> map, V defaultValue)
           
static
<K,V> LinkedHashMap<K,V>
mutableLinkedUniqueIndex(Iterable<? extends V> values, com.google.common.base.Function<? super V,? extends K> indexGenerator)
           
static
<K,V> Map<K,V>
mutableUniqueIndex(Iterable<? extends V> values, com.google.common.base.Function<? super V,? extends K> indexGenerator)
           
static
<K,V> Map<K,V>
newHashMapFrom(Iterable<? extends V> source, com.google.common.base.Function<V,Pair<K,V>> function)
           
static
<K,V> Map<K,V>
newLinkedHashMapWithLimitedSize(int maxSize)
           
static
<K,V> NullAwareCache<K,V>
newNullAwareCache(com.google.common.cache.CacheBuilder<Object,Object> builder, com.google.common.cache.CacheLoader<? super K,? extends V> loader)
          Deprecated. since 5.6 use plan cache with Optional values
static
<K,V> NullAwareCache<K,V>
newNullAwareCacheTyped(com.google.common.cache.CacheBuilder<K,com.atlassian.fugue.Option<V>> builder, com.google.common.cache.CacheLoader<? super K,? extends V> loader)
          Deprecated. since 5.6 use plan cache with Optional values
static
<K,V> com.google.common.cache.CacheLoader<? super K,com.atlassian.fugue.Option<V>>
nullMasquingLoader(com.google.common.cache.CacheLoader<? super K,? extends V> nullReturningLoader)
           
static
<K,V> V
populateMap(Map<K,V> map, V input, com.google.common.base.Function<? super V,? extends K> indexGenerator)
          Add entry to the map using Function to generate a key
static
<K,V> void
putAll(Map<K,? super V> map, Iterable<Pair<K,V>> iterable)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newHashMapFrom

public static <K,V> Map<K,V> newHashMapFrom(Iterable<? extends V> source,
                                            com.google.common.base.Function<V,Pair<K,V>> function)

newLinkedHashMapWithLimitedSize

public static <K,V> Map<K,V> newLinkedHashMapWithLimitedSize(int maxSize)

putAll

public static <K,V> void putAll(Map<K,? super V> map,
                                Iterable<Pair<K,V>> iterable)

mutableUniqueIndex

public static <K,V> Map<K,V> mutableUniqueIndex(Iterable<? extends V> values,
                                                com.google.common.base.Function<? super V,? extends K> indexGenerator)

mutableLinkedUniqueIndex

public static <K,V> LinkedHashMap<K,V> mutableLinkedUniqueIndex(Iterable<? extends V> values,
                                                                com.google.common.base.Function<? super V,? extends K> indexGenerator)

populateMap

public static <K,V> V populateMap(@NotNull
                                  Map<K,V> map,
                                  @NotNull
                                  V input,
                                  @NotNull
                                  com.google.common.base.Function<? super V,? extends K> indexGenerator)
Add entry to the map using Function to generate a key

Parameters:
map - map that will get an extra element
input - element to be added to map
indexGenerator - function that will generate key for a given element
Returns:
same behavior as Map.put(Object, Object)

newNullAwareCache

@NotNull
@Deprecated
public static <K,V> NullAwareCache<K,V> newNullAwareCache(com.google.common.cache.CacheBuilder<Object,Object> builder,
                                                                             com.google.common.cache.CacheLoader<? super K,? extends V> loader)
Deprecated. since 5.6 use plan cache with Optional values

Constructs a new NullAwareCache using a supplied @CacheBuilder and @CacheLoader


newNullAwareCacheTyped

@NotNull
@Deprecated
public static <K,V> NullAwareCache<K,V> newNullAwareCacheTyped(com.google.common.cache.CacheBuilder<K,com.atlassian.fugue.Option<V>> builder,
                                                                                  com.google.common.cache.CacheLoader<? super K,? extends V> loader)
Deprecated. since 5.6 use plan cache with Optional values


nullMasquingLoader

@NotNull
public static <K,V> com.google.common.cache.CacheLoader<? super K,com.atlassian.fugue.Option<V>> nullMasquingLoader(com.google.common.cache.CacheLoader<? super K,? extends V> nullReturningLoader)

getWithDefault

public static <K,V> com.google.common.base.Function<K,V> getWithDefault(@NotNull
                                                                        Map<K,V> map,
                                                                        @Nullable
                                                                        V defaultValue)

generateMap

public static <K,V> Map<K,V> generateMap(@NotNull
                                         Set<K> keys,
                                         @NotNull
                                         com.google.common.base.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.



Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.