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

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

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

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

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

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

Since:
2 (imported from Google Collections Library)

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

Constructor Detail

ImmutableBiMap.Builder

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

Method Detail

put

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

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

putAll

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

Overrides:
putAll in class ImmutableMap.Builder<K,V>
Throws:
NullPointerException - if any key or value in map is null

build

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

Overrides:
build in class ImmutableMap.Builder<K,V>
Throws:
IllegalArgumentException - if duplicate keys or values were added