Class ImmutableClassToInstanceMap.Builder<B>

  • Enclosing class:
    ImmutableClassToInstanceMap<B>

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

      • Builder

        public Builder()
    • Method Detail

      • putAll

        public <T extends BImmutableClassToInstanceMap.Builder<B> putAll​(java.util.Map<? extends java.lang.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:
        java.lang.NullPointerException - if any key or value in map is null
        java.lang.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:
        java.lang.IllegalArgumentException - if duplicate keys were added