## com.google.common.collect
Class ImmutableClassToInstanceMap.Builder<B>

    java.lang.Object
      com.google.common.collect.ImmutableClassToInstanceMap.Builder<B>

Enclosing class:
  ImmutableClassToInstanceMap<B>

    public static final class ImmutableClassToInstanceMap.Builder<B>

extends Object

A builder for creating immutable class-to-instance maps. Example:

       static final ImmutableClassToInstanceMap<Handler> HANDLERS =
           new ImmutableClassToInstanceMap.Builder<Handler>()
               .put(FooHandler.class, new FooHandler())
               .put(BarHandler.class, new SubBarHandler())
               .put(Handler.class, new QuuxHandler())
               .build();

After invoking `build()` it is still possible to add more entries and build again. Thus each map generated by this builder will be a superset of any map generated before it.

Since:
  2.0 (imported from Google Collections Library)

Constructor Summary
`ImmutableClassToInstanceMap.Builder()`

Method Summary
`ImmutableClassToInstanceMap<B>` `build()` Returns a new immutable class-to-instance map containing the entries provided to this builder.

`

`<T extends B> ImmutableClassToInstanceMap.Builder<B>`

`

`put(Class<T> key, T value)`
Associates `key` with `value` in the built map.

`

`<T extends B> ImmutableClassToInstanceMap.Builder<B>`

`

`putAll(Map<? extends Class<? extends T>,? extends T> map)`
Associates all of `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

### ImmutableClassToInstanceMap.Builder

    public ImmutableClassToInstanceMap.Builder()

Method Detail

### put

    public <T extends B> ImmutableClassToInstanceMap.Builder<B> put(Class<T> key,
                                                                    T value)

  Associates `key` with `value` in the built map. Duplicate keys are not allowed, and will cause `build()` to fail.

### putAll

    public <T extends B> ImmutableClassToInstanceMap.Builder<B> putAll(Map<? extends Class<? extends T>,? extends T> map)

  Associates all of `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
    `ClassCastException` - if any value is not an instance of the type specified by its key

### build

    public ImmutableClassToInstanceMap<B> build()

  Returns a new immutable class-to-instance map containing the entries provided to this builder.

  Throws:
    `IllegalArgumentException` - if duplicate keys were added

Copyright © 2010-2012. All Rights Reserved.