T
- The type of instance to providepublic class DeferredInstanceProvider<T> extends Object implements InstanceProvider<T>
InstanceProvider
implementation that defers resolving an instance until get()
, hasMultiple()
, isUnsatisfied()
, or iterator()
is invokedModifier and Type | Method and Description |
---|---|
static <T> DeferredInstanceProvider<T> |
from(TypeQualifier<T> service, InstanceLocator locator)
Instantiate a
DeferredInstanceProvider |
T |
get()
Retrieve the first available instance
|
boolean |
hasMultiple()
Determines if there is more than one available implementation for the required type and qualifiers
|
boolean |
isUnsatisfied()
Determines if there is no available implementation for the required type and qualifiers.
|
Iterator<T> |
iterator()
When a service has multiple providers (which can be determined by calling
InstanceProvider.isAmbiguous() ) this iterator enumerates each of the available providers |
TypeQualifier<T> |
qualifier()
Identifies the constraints used to select matches
|
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isAmbiguous, isAvailable, isUnavailable
forEach, spliterator
public T get()
InstanceProvider
public boolean hasMultiple()
InstanceProvider
hasMultiple
in interface InstanceProvider<T>
public boolean isUnsatisfied()
InstanceProvider
InstanceProvider.get()
will raise a RuntimeException
isUnsatisfied
in interface InstanceProvider<T>
public Iterator<T> iterator()
InstanceProvider
InstanceProvider.isAmbiguous()
) this iterator enumerates each of the available providerspublic TypeQualifier<T> qualifier()
InstanceProvider
qualifier
in interface InstanceProvider<T>
TypeQualifier
instancepublic static <T> DeferredInstanceProvider<T> from(TypeQualifier<T> service, InstanceLocator locator)
DeferredInstanceProvider
service
- The service that needs to be providedlocator
- The locator that can provide the service.DeferredInstanceProvider