Enum Class BindingKind

java.lang.Object
java.lang.Enum<BindingKind>
dagger.spi.model.BindingKind
All Implemented Interfaces:
Serializable, Comparable<BindingKind>, Constable

public enum BindingKind extends Enum<BindingKind>
Represents the different kinds of Bindings that can exist in a binding graph.
  • Enum Constant Details

    • INJECTION

      public static final BindingKind INJECTION
      A binding for an Inject-annotated constructor.
    • PROVISION

      public static final BindingKind PROVISION
      A binding for a Provides-annotated method.
    • ASSISTED_INJECTION

      public static final BindingKind ASSISTED_INJECTION
      A binding for an Inject-annotated constructor that contains at least one Assisted-annotated parameter.
    • ASSISTED_FACTORY

      public static final BindingKind ASSISTED_FACTORY
      A binding for an AssistedFactory-annotated type.
    • COMPONENT

      public static final BindingKind COMPONENT
      An implicit binding for a Component- or ProductionComponent-annotated type.
    • COMPONENT_PROVISION

      public static final BindingKind COMPONENT_PROVISION
      A binding for a provision method on a component's dependency.
    • COMPONENT_DEPENDENCY

      public static final BindingKind COMPONENT_DEPENDENCY
      A binding for an instance of a component's dependency.
    • MEMBERS_INJECTOR

      public static final BindingKind MEMBERS_INJECTOR
      A binding for a MembersInjector of a type.
    • SUBCOMPONENT_CREATOR

      public static final BindingKind SUBCOMPONENT_CREATOR
      A binding for a subcomponent creator (a builder or factory).
      Since:
      2.22 (previously named SUBCOMPONENT_BUILDER)
    • BOUND_INSTANCE

      public static final BindingKind BOUND_INSTANCE
      A binding for a BindsInstance-annotated builder method.
    • PRODUCTION

      public static final BindingKind PRODUCTION
      A binding for a Produces-annotated method.
    • COMPONENT_PRODUCTION

      public static final BindingKind COMPONENT_PRODUCTION
      A binding for a production method on a production component's ProductionComponent#dependencies() that returns a ListenableFuture or FluentFuture. Methods on production component dependencies that don't return a future are considered component provision bindings.
    • MULTIBOUND_SET

      public static final BindingKind MULTIBOUND_SET
      A synthetic binding for a multibound set that depends on individual multibinding PROVISION or PRODUCTION contributions.
    • MULTIBOUND_MAP

      public static final BindingKind MULTIBOUND_MAP
      A synthetic binding for a multibound map that depends on the individual multibinding PROVISION or PRODUCTION contributions.
    • OPTIONAL

      public static final BindingKind OPTIONAL
      A synthetic binding for Optional of a type or a Provider, Lazy, or Provider of Lazy of a type. Generated by a BindsOptionalOf declaration.
    • DELEGATE

      public static final BindingKind DELEGATE
      A binding for Binds-annotated method that that delegates from requests for one key to another.
    • MEMBERS_INJECTION

      public static final BindingKind MEMBERS_INJECTION
      A binding for a members injection method on a component.
  • Method Details

    • values

      public static BindingKind[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static BindingKind valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • isMultibinding

      public boolean isMultibinding()
      Returns true if this is a kind of multibinding (not a contribution to a multibinding, but the multibinding itself).