T
- The fully qualified type of the optional binding, including Optional.
For example: Optional<String>
.public interface OptionalBinderBinding<T>
Although OptionalBinders may be injected through a variety of types
T
, Optional<T>
, Optional<Provider<T>>
, etc..), an
OptionalBinderBinding exists only on the Binding associated with the
Optional<T>
key. Other bindings can be validated to be derived from this
OptionalBinderBinding using containsElement(com.google.inject.spi.Element)
.
Modifier and Type | Method and Description |
---|---|
boolean |
containsElement(Element element)
Returns true if this OptionalBinder contains the given Element in order to build the optional
binding or uses the given Element in order to support building and injecting its data.
|
Binding<?> |
getActualBinding()
Returns the actual binding (set by
OptionalBinder.setBinding() ) or null if not set. |
Binding<?> |
getDefaultBinding()
Returns the default binding (set by
OptionalBinder.setDefault() ) if one exists or null
if no default binding is set. |
Key<T> |
getKey()
Returns the
Key for this binding. |
Binding<?> getDefaultBinding()
OptionalBinder.setDefault()
) if one exists or null
if no default binding is set. This will throw UnsupportedOperationException
if it is
called on an element retrieved from Elements.getElements(com.google.inject.Module...)
.
The Binding's type will always match the type Optional's generic type. For example, if getKey
returns a key of Optional<String>
, then this will always return a
Binding<String>
.
Binding<?> getActualBinding()
OptionalBinder.setBinding()
) or null if not set.
This will throw UnsupportedOperationException
if it is called on an element retrieved
from Elements.getElements(com.google.inject.Module...)
.
The Binding's type will always match the type Optional's generic type. For example, if getKey
returns a key of Optional<String>
, then this will always return a
Binding<String>
.
boolean containsElement(Element element)
Elements.getElements(com.google.inject.Module...)
. Usually this is only necessary if you are working with elements
retrieved from modules (without an Injector), otherwise getDefaultBinding()
and
getActualBinding()
are better options.