Package dagger.model
Interface Binding
-
- All Superinterfaces:
BindingGraph.MaybeBinding
,BindingGraph.Node
public interface Binding extends BindingGraph.MaybeBinding
The association between aKey
and the way in which instances of the key are provided. Includes any dependencies that are needed in order to provide the instances.If a binding is owned by more than one component, there is one
Binding
for every owning component.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description default java.util.Optional<Binding>
binding()
Deprecated.This always returnsOptional.of(this)
.java.util.Optional<javax.lang.model.element.Element>
bindingElement()
TheElement
that declares this binding.ComponentPath
componentPath()
The component that owns the binding, or in which the binding is missing.java.util.Optional<javax.lang.model.element.TypeElement>
contributingModule()
TheTypeElement
of the module which contributes this binding.com.google.common.collect.ImmutableSet<DependencyRequest>
dependencies()
The dependencies of this binding.boolean
isNullable()
Returnstrue
if this binding may providenull
instead of an instance ofBindingGraph.MaybeBinding.key()
.boolean
isProduction()
Returnstrue
if this is a production binding, e.g.BindingKind
kind()
The kind of binding this instance represents.boolean
requiresModuleInstance()
Returnstrue
if using this binding requires an instance of thecontributingModule()
.java.util.Optional<Scope>
scope()
The scope of this binding if it has one.-
Methods inherited from interface dagger.model.BindingGraph.MaybeBinding
key
-
-
-
-
Method Detail
-
componentPath
ComponentPath componentPath()
Description copied from interface:BindingGraph.MaybeBinding
The component that owns the binding, or in which the binding is missing.- Specified by:
componentPath
in interfaceBindingGraph.MaybeBinding
- Specified by:
componentPath
in interfaceBindingGraph.Node
-
binding
@Deprecated default java.util.Optional<Binding> binding()
Deprecated.This always returnsOptional.of(this)
.Description copied from interface:BindingGraph.MaybeBinding
The binding, or empty if missing.- Specified by:
binding
in interfaceBindingGraph.MaybeBinding
-
dependencies
com.google.common.collect.ImmutableSet<DependencyRequest> dependencies()
The dependencies of this binding. The order of the dependencies corresponds to the order in which they will be injected when the binding is requested.
-
bindingElement
java.util.Optional<javax.lang.model.element.Element> bindingElement()
TheElement
that declares this binding. Absent for binding kinds that are not always declared by exactly one element.For example, consider
BindingKind.MULTIBOUND_SET
. A component with many@IntoSet
bindings for the same key will have a synthetic binding that depends on all contributions, but with no identifiying binding element. A@Multibinds
method will also contribute a synthetic binding, but since multiple@Multibinds
methods can coexist in the same component (and contribute to one single binding), it has no binding element.
-
contributingModule
java.util.Optional<javax.lang.model.element.TypeElement> contributingModule()
TheTypeElement
of the module which contributes this binding. Absent for bindings that have nobinding element
.
-
requiresModuleInstance
boolean requiresModuleInstance()
Returnstrue
if using this binding requires an instance of thecontributingModule()
.
-
scope
java.util.Optional<Scope> scope()
The scope of this binding if it has one.
-
isNullable
boolean isNullable()
Returnstrue
if this binding may providenull
instead of an instance ofBindingGraph.MaybeBinding.key()
. Nullable bindings cannot be requested from non-nullable dependency requests.
-
isProduction
boolean isProduction()
Returnstrue
if this is a production binding, e.g. an@Produces
method.
-
kind
BindingKind kind()
The kind of binding this instance represents.
-
-