public static final class ImmutableClassToInstanceMap.Builder<B> extends Object
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.
Constructor and Description |
---|
Builder()
|
Modifier and Type | Method and Description |
---|---|
ImmutableClassToInstanceMap |
build()
Returns a new immutable class-to-instance map containing the entries provided to this builder.
|
<T extends B> ImmutableClassToInstanceMap |
put(Class
Associates
key with
value in the built map.
|
<T extends B> ImmutableClassToInstanceMap |
putAll(Map
Associates all of
map's keys and values in the built map.
|
public <T extends B> ImmutableClassToInstanceMap.Builder <B> put(Class <T> key, T value)
key
with
value
in the built map. Duplicate keys are not allowed, and will cause
build()
to fail.
public <T extends B> ImmutableClassToInstanceMap.Builder <B> putAll(Map <? extends Class <? extends T> ,? extends T> map)
map's
keys and values in the built map. Duplicate keys are not allowed, and will cause
build()
to fail.
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
public ImmutableClassToInstanceMap<B> build()
IllegalArgumentException
- if duplicate keys were added