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

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

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

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

   static final Multimap<String, Integer> STRING_TO_INTEGER_MULTIMAP =
       new ImmutableSetMultimap.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
ImmutableSetMultimap.Builder()
          Creates a new builder.
 
Method Summary
 ImmutableSetMultimap<K,V> build()
          Returns a newly-created immutable set multimap.
 ImmutableSetMultimap.Builder<K,V> put(K key, V value)
          Adds a key-value mapping to the built multimap if it is not already present.
 ImmutableSetMultimap.Builder<K,V> putAll(K key, Iterable<? extends V> values)
          Stores a collection of values with the same key in the built multimap.
 ImmutableSetMultimap.Builder<K,V> putAll(K key, V... values)
          Stores an array of values with the same key in the built multimap.
 ImmutableSetMultimap.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

ImmutableSetMultimap.Builder

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

Method Detail

put

public ImmutableSetMultimap.Builder<K,V> put(K key,
                                             V value)
Adds a key-value mapping to the built multimap if it is not already present.

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

putAll

public ImmutableSetMultimap.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 ImmutableSetMultimap.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 ImmutableSetMultimap.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 ImmutableSetMultimap<K,V> build()
Returns a newly-created immutable set multimap.

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