public interface Binding extends BindingGraph.MaybeBinding
Key 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.
| Modifier and Type | Method and Description | 
|---|---|
default java.util.Optional<Binding> | 
binding()
Deprecated. 
 
This always returns  
Optional.of(this). | 
java.util.Optional<javax.lang.model.element.Element> | 
bindingElement()
The  
Element 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()
The  
TypeElement of the module which contributes this binding. | 
com.google.common.collect.ImmutableSet<DependencyRequest> | 
dependencies()
The dependencies of this binding. 
 | 
boolean | 
isNullable()
Returns  
true if this binding may provide null instead of an instance of BindingGraph.MaybeBinding.key(). | 
boolean | 
isProduction()
Returns  
true if this is a production binding, e.g. | 
BindingKind | 
kind()
The kind of binding this instance represents. 
 | 
boolean | 
requiresModuleInstance()
Returns  
true if using this binding requires an instance of the contributingModule(). | 
java.util.Optional<Scope> | 
scope()
The scope of this binding if it has one. 
 | 
keyComponentPath componentPath()
BindingGraph.MaybeBindingcomponentPath in interface BindingGraph.MaybeBindingcomponentPath in interface BindingGraph.Node@Deprecated default java.util.Optional<Binding> binding()
Optional.of(this).BindingGraph.MaybeBindingbinding in interface BindingGraph.MaybeBindingcom.google.common.collect.ImmutableSet<DependencyRequest> dependencies()
java.util.Optional<javax.lang.model.element.Element> bindingElement()
Element 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.
java.util.Optional<javax.lang.model.element.TypeElement> contributingModule()
TypeElement of the module which contributes this binding. Absent for bindings that
 have no binding element.boolean requiresModuleInstance()
true if using this binding requires an instance of the contributingModule().java.util.Optional<Scope> scope()
boolean isNullable()
true if this binding may provide null instead of an instance of BindingGraph.MaybeBinding.key(). Nullable bindings cannot be requested from non-nullable dependency requests.boolean isProduction()
true if this is a production binding, e.g. an @Produces method.BindingKind kind()