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

java.lang.Object
  extended by com.google.common.collect.ImmutableMap.Builder<K,V>
Direct Known Subclasses:
ImmutableBiMap.Builder, ImmutableSortedMap.Builder
Enclosing class:
ImmutableMap<K,V>

public static class ImmutableMap.Builder<K,V>
extends Object

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

   static final ImmutableMap<String, Integer> WORD_TO_INT =
       new ImmutableMap.Builder<String, Integer>()
           .put("one", 1)
           .put("two", 2)
           .put("three", 3)
           .build();
For small immutable maps, the ImmutableMap.of() methods are even more convenient.

Builder instances can be reused - it is safe to call build() multiple times to build multiple maps in series. Each map is a superset of the maps created before it.

Since:
2 (imported from Google Collections Library)

Constructor Summary
ImmutableMap.Builder()
          Creates a new builder.
 
Method Summary
 ImmutableMap<K,V> build()
          Returns a newly-created immutable map.
 ImmutableMap.Builder<K,V> put(K key, V value)
          Associates key with value in the built map.
 ImmutableMap.Builder<K,V> putAll(Map<? extends K,? extends V> map)
          Associates all of the given map's keys and values in the built map.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImmutableMap.Builder

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

Method Detail

put

public ImmutableMap.Builder<K,V> put(K key,
                                     V value)
Associates key with value in the built map. Duplicate keys are not allowed, and will cause build() to fail.


putAll

public ImmutableMap.Builder<K,V> putAll(Map<? extends K,? extends V> map)
Associates all of the given map's keys and values in the built map. Duplicate keys are not allowed, and will cause build() to fail.

Throws:
NullPointerException - if any key or value in map is null

build

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

Throws:
IllegalArgumentException - if duplicate keys were added