com.google.common.reflect
Class ImmutableTypeToInstanceMap.Builder<B>

java.lang.Object
  extended by com.google.common.reflect.ImmutableTypeToInstanceMap.Builder<B>
Enclosing class:
ImmutableTypeToInstanceMap<B>

@Beta
public static final class ImmutableTypeToInstanceMap.Builder<B>
extends Object

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

   static final ImmutableTypeToInstanceMap<Handler<?>> HANDLERS =
       ImmutableTypeToInstanceMap.<Handler<?>>builder()
           .put(new TypeToken<Handler<Foo>>() {}, new FooHandler())
           .put(new TypeToken<Handler<Bar>>() {}, new SubBarHandler())
           .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:
13.0

Method Summary
 ImmutableTypeToInstanceMap<B> build()
          Returns a new immutable type-to-instance map containing the entries provided to this builder.
<T extends B>
ImmutableTypeToInstanceMap.Builder<B>
put(Class<T> key, T value)
          Associates key with value in the built map.
<T extends B>
ImmutableTypeToInstanceMap.Builder<B>
put(TypeToken<T> key, T value)
          Associates key with value in the built map.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

put

public <T extends B> ImmutableTypeToInstanceMap.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.


put

public <T extends B> ImmutableTypeToInstanceMap.Builder<B> put(TypeToken<T> key,
                                                               T value)
Associates key with value in the built map. Duplicate keys are not allowed, and will cause build() to fail.


build

public ImmutableTypeToInstanceMap<B> build()
Returns a new immutable type-to-instance map containing the entries provided to this builder.

Throws:
IllegalArgumentException - if duplicate keys were added


Copyright © 2010-2012. All Rights Reserved.