Class ImmutableTypeToInstanceMap.Builder<B>

  • Enclosing class:
    ImmutableTypeToInstanceMap<B>

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

      • put

        public <T extends BImmutableTypeToInstanceMap.Builder<B> put​(java.lang.Class<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:
        java.lang.IllegalArgumentException - if duplicate keys were added