Interface InjectorBuilder<B extends InjectorBuilder<B,I>, I extends Injector<I,B>>

Type Parameters:
B - This type
I - The associated Injector type
All Known Implementing Classes:
ReflectionInjectorBuilder

public interface InjectorBuilder<B extends InjectorBuilder<B,I>, I extends Injector<I,B>>
Generic interface for builders that build Injectors
  • Method Summary

    Modifier and Type
    Method
    Description
    bind(Binding... bindings)
    Adds one or more bindings to this builder
    default BindingBuilder<B,I>
    bind(Matcher matcher)
    Creates a new BindingBuilder with the given matcher and returns it, the binding builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, String name)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, String name, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(honeyroasted.jype.type.JType type)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(honeyroasted.jype.type.JType type, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(honeyroasted.jype.type.JType type, String name)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(honeyroasted.jype.type.JType type, String name, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(Type type)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(Type type, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(Type type, String name)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    bind(Type type, String name, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
     
    default BindingBuilder<B,I>
    exactBind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token)
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality), the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    exactBind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    exactBind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, String name)
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    exactBind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, String name, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality)), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    exactBind(honeyroasted.jype.type.JType type)
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality), the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    exactBind(honeyroasted.jype.type.JType type, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    exactBind(honeyroasted.jype.type.JType type, String name)
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    exactBind(honeyroasted.jype.type.JType type, String name, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality), the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    exactBind(Type type, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    exactBind(Type type, String name)
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
    default BindingBuilder<B,I>
    exactBind(Type type, String name, Class<? extends Annotation> annotation)
    Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
  • Method Details

    • bind

      B bind(Binding... bindings)
      Adds one or more bindings to this builder
      Parameters:
      bindings - The bindings to add
      Returns:
      This, for method chaining
    • build

      I build()
      Returns:
      A new Injector with the bindings from this InjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(Matcher matcher)
      Creates a new BindingBuilder with the given matcher and returns it, the binding builder may then be used to bind to a value and continue back into this builder
      Parameters:
      matcher - The matcher to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(Type type)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(Type type)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality), the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(honeyroasted.jype.type.JType type)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(honeyroasted.jype.type.JType type)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality), the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      token - The type to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality), the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      token - The type to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(Type type, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(Type type, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(honeyroasted.jype.type.JType type, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(honeyroasted.jype.type.JType type, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      token - The type to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      token - The type to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(Type type, String name)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      name - The name to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(Type type, String name)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      name - The name to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(honeyroasted.jype.type.JType type, String name)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      name - The name to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(honeyroasted.jype.type.JType type, String name)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      name - The name to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, String name)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      token - The type to use
      name - The name to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, String name)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality) and the given name, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      token - The type to use
      name - The name to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(Type type, String name, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      name - The name to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(Type type, String name, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      name - The name to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(honeyroasted.jype.type.JType type, String name, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      name - The name to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(honeyroasted.jype.type.JType type, String name, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      type - The type to use
      name - The name to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • bind

      default BindingBuilder<B,I> bind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, String name, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on assignment rules), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      token - The type to use
      name - The name to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder
    • exactBind

      default BindingBuilder<B,I> exactBind(honeyroasted.jype.system.resolver.reflection.JTypeToken<?> token, String name, Class<? extends Annotation> annotation)
      Creates a new BindingBuilder with a matcher that matches the given type (based on exact type equality)), the given name and the given annotation, the matcher builder may then be used to bind to a value and continue back into this builder
      Parameters:
      token - The type to use
      name - The name to use
      annotation - The annotation to use
      Returns:
      A new BindingBuilder referencing this ReflectionInjectorBuilder