Class Injector.Builder

  • Enclosing class:
    Injector

    public static class Injector.Builder
    extends java.lang.Object
    Builder for Injector.
    • Constructor Summary

      Constructors 
      Constructor Description
      Builder()
      Creates a new builder.
      Builder​(java.lang.ClassLoader classLoader)
      Creates a new builder using the specified ClassLoader for plugin loading.
      Builder​(Injector superInjector)
      Creates a new builder with a parent injector.
      Builder​(Injector superInjector, java.lang.ClassLoader classLoader)
      Creates a new builder with a parent injector and the specified ClassLoader for plugin loading.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> Injector.Builder bind​(java.lang.Class<T> type, java.lang.Class<? extends T> implementingClass)
      Registers an implementing class for the given dependency type.
      <T> Injector.Builder bind​(java.lang.Class<T> type, T instance)
      Registers an instance for the given dependency type.
      <T> Injector.Builder bind​(Injector.Key<T> key, T instance)
      Registers an instance for the given key.
      <T> Injector.Builder bindDefault​(java.lang.Class<T> type, java.lang.Class<? extends T> defaultImplementingClass)
      Registers a fallback implementing class for the given dependency type.
      Injector build()
      Builds an injector as previously configured.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Builder

        public Builder()
        Creates a new builder.
      • Builder

        public Builder​(java.lang.ClassLoader classLoader)
        Creates a new builder using the specified ClassLoader for plugin loading.
      • Builder

        public Builder​(Injector superInjector)
        Creates a new builder with a parent injector.
      • Builder

        public Builder​(Injector superInjector,
                       java.lang.ClassLoader classLoader)
        Creates a new builder with a parent injector and the specified ClassLoader for plugin loading.
    • Method Detail

      • bind

        public <T> Injector.Builder bind​(@Nonnull
                                         java.lang.Class<T> type,
                                         @Nonnull
                                         T instance)
        Registers an instance for the given dependency type.
      • bind

        public <T> Injector.Builder bind​(@Nonnull
                                         java.lang.Class<T> type,
                                         @Nonnull
                                         java.lang.Class<? extends T> implementingClass)
        Registers an implementing class for the given dependency type.
      • bindDefault

        public <T> Injector.Builder bindDefault​(@Nonnull
                                                java.lang.Class<T> type,
                                                @Nonnull
                                                java.lang.Class<? extends T> defaultImplementingClass)
        Registers a fallback implementing class for the given dependency type.
      • build

        public Injector build()
        Builds an injector as previously configured.