com.google.common.collect
Class ImmutableListMultimap.Builder<K,V>

java.lang.Object
  extended by com.google.common.collect.ImmutableMultimap.Builder<K,V>
      extended by com.google.common.collect.ImmutableListMultimap.Builder<K,V>
Enclosing class:
ImmutableListMultimap<K,V>

public static final class ImmutableListMultimap.Builder<K,V>
extends ImmutableMultimap.Builder<K,V>

A builder for creating immutable ListMultimap instances, especially public static final multimaps ("constant multimaps"). Example:

   static final Multimap<String, Integer> STRING_TO_INTEGER_MULTIMAP =
       new ImmutableListMultimap.Builder<String, Integer>()
           .put("one", 1)
           .putAll("several", 1, 2, 3)
           .putAll("many", 1, 2, 3, 4, 5)
           .build();

Builder instances can be reused - it is safe to call build() multiple times to build multiple multimaps in series. Each multimap contains the key-value mappings in the previously created multimaps.


Constructor Summary
ImmutableListMultimap.Builder()
          Creates a new builder.
 
Method Summary
 ImmutableListMultimap<K,V> build()
          Returns a newly-created immutable multimap.
 ImmutableListMultimap.Builder<K,V> put(K key, V value)
          Adds a key-value mapping to the built multimap.
 ImmutableListMultimap.Builder<K,V> putAll(K key, Iterable<? extends V> values)
          Stores a collection of values with the same key in the built multimap.
 ImmutableListMultimap.Builder<K,V> putAll(K key, V... values)
          Stores an array of values with the same key in the built multimap.
 ImmutableListMultimap.Builder<K,V> putAll(Multimap<? extends K,? extends V> multimap)
          Stores another multimap's entries in the built multimap.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImmutableListMultimap.Builder

public ImmutableListMultimap.Builder()
Creates a new builder. The returned builder is equivalent to the builder generated by ImmutableListMultimap.builder().

Method Detail

put

public ImmutableListMultimap.Builder<K,V> put(K key,
                                              V value)
Adds a key-value mapping to the built multimap.

Overrides:
put in class ImmutableMultimap.Builder<K,V>

putAll

public ImmutableListMultimap.Builder<K,V> putAll(K key,
                                                 Iterable<? extends V> values)
Stores a collection of values with the same key in the built multimap.

Overrides:
putAll in class ImmutableMultimap.Builder<K,V>
Throws:
NullPointerException - if key, values, or any element in values is null. The builder is left in an invalid state.

putAll

public ImmutableListMultimap.Builder<K,V> putAll(K key,
                                                 V... values)
Stores an array of values with the same key in the built multimap.

Overrides:
putAll in class ImmutableMultimap.Builder<K,V>
Throws:
NullPointerException - if the key or any value is null. The builder is left in an invalid state.

putAll

public ImmutableListMultimap.Builder<K,V> putAll(Multimap<? extends K,? extends V> multimap)
Stores another multimap's entries in the built multimap. The generated multimap's key and value orderings correspond to the iteration ordering of the multimap.asMap() view, with new keys and values following any existing keys and values.

Overrides:
putAll in class ImmutableMultimap.Builder<K,V>
Throws:
NullPointerException - if any key or value in multimap is null. The builder is left in an invalid state.

build

public ImmutableListMultimap<K,V> build()
Returns a newly-created immutable multimap.

Overrides:
build in class ImmutableMultimap.Builder<K,V>