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.

Since:
2 (imported from Google Collections Library)

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> orderKeysBy(Comparator<? super K> keyComparator)
          Specifies the ordering of the generated multimap's keys.
 ImmutableSetMultimap.Builder<K,V> orderValuesBy(Comparator<? super V> valueComparator)
          Specifies the ordering of the generated multimap's values for each key.
 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)
Description copied from class: ImmutableMultimap.Builder
Stores a collection of values with the same key in the built multimap.

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

putAll

public ImmutableSetMultimap.Builder<K,V> putAll(K key,
                                                V... values)
Description copied from class: ImmutableMultimap.Builder
Stores an array of values with the same key in the built multimap.

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

putAll

public ImmutableSetMultimap.Builder<K,V> putAll(Multimap<? extends K,? extends V> multimap)
Description copied from class: ImmutableMultimap.Builder
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>

orderKeysBy

@Beta
public ImmutableSetMultimap.Builder<K,V> orderKeysBy(Comparator<? super K> keyComparator)
Specifies the ordering of the generated multimap's keys.

Overrides:
orderKeysBy in class ImmutableMultimap.Builder<K,V>
Since:
8

orderValuesBy

@Beta
public ImmutableSetMultimap.Builder<K,V> orderValuesBy(Comparator<? super V> valueComparator)
Specifies the ordering of the generated multimap's values for each key.

If this method is called, the sets returned by the get() method of the generated multimap and its Multimap.asMap() view are ImmutableSortedSet instances. However, serialization does not preserve that property, though it does maintain the key and value ordering.

Overrides:
orderValuesBy in class ImmutableMultimap.Builder<K,V>
Since:
8

build

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

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