Class ImmutableClassToInstanceMap.Builder<B>

  • Enclosing class:
    ImmutableClassToInstanceMap<B>

    public static final class ImmutableClassToInstanceMap.Builder<B>
    extends 
    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
    • Constructor Detail

    • Method Detail

      • put

        public <T extends <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 <? extends <? 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:
        - if any key or value in map is null
        - if any value is not an instance of the type specified by its key
      • build

        public ImmutableClassToInstanceMap<Bbuild()
        Returns a new immutable class-to-instance map containing the entries provided to this builder.
        Throws:
        - if duplicate keys were added