Package dagger

Annotation Interface Provides


@Documented @Target(METHOD) @Retention(RUNTIME) public @interface Provides
Annotates methods of a module to create a provider method binding. The method's return type is bound to its returned value. The component implementation will pass dependencies to the method as parameters.

Nullability

Dagger forbids injecting null by default. Component implementations that invoke @Provides methods that return null will throw a NullPointerException immediately thereafter. @Provides methods may opt into allowing null by annotating the method with any @Nullable annotation like javax.annotation.Nullable or androidx.annotation.Nullable.

If a @Provides method is marked @Nullable, Dagger will only allow injection into sites that are marked @Nullable as well. A component that attempts to pair a @Nullable provision with a non-@Nullable injection site will fail to compile.