org.apache.cayenne.di

## Interface BindingBuilder<T>

- Type Parameters:
    `T` - An interface type of the service being bound.

      public interface BindingBuilder<T>

  A binding builder that helps with fluent binding creation.
  Since:
    3.1

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `in(Scope scope)` Sets the scope of a bound instance.
    `void` | `inSingletonScope()` Sets the scope of a bound instance to singleton.
    `BindingBuilder<T>` | `to(Class<? extends T> implementation)`
    `BindingBuilder<T>` | `toInstance(T instance)`
    `BindingBuilder<T>` | `toProvider(Class<? extends Provider<? extends T>> providerType)`
    `BindingBuilder<T>` | `toProviderInstance(Provider<? extends T> provider)`
    `void` | `withoutScope()` Sets the scope of a bound instance to "no scope".

- - ### Method Detail

    - #### to

          BindingBuilder<T> to(Class<? extends T> implementation)
                        throws DIRuntimeException

      Throws:
        `DIRuntimeException`

    - #### toInstance

          BindingBuilder<T> toInstance(T instance)
                                throws DIRuntimeException

      Throws:
        `DIRuntimeException`

    - #### toProvider

          BindingBuilder<T> toProvider(Class<? extends Provider<? extends T>> providerType)
                                throws DIRuntimeException

      Throws:
        `DIRuntimeException`

    - #### toProviderInstance

          BindingBuilder<T> toProviderInstance(Provider<? extends T> provider)
                                        throws DIRuntimeException

      Throws:
        `DIRuntimeException`

    - #### in

          void in(Scope scope)

      Sets the scope of a bound instance. This method is used to change the default scope which is usually a singleton to a custom scope.

    - #### inSingletonScope

          void inSingletonScope()

      Sets the scope of a bound instance to singleton. Singleton is normally the default, so calling this method explicitly is rarely needed.

    - #### withoutScope

          void withoutScope()

      Sets the scope of a bound instance to "no scope". This means that a new instance of an object will be created on every call to `Injector.getInstance(Class)`.

Copyright © 2001–2023 Apache Cayenne. All rights reserved.