Package io.quarkus.arc
Interface InjectableInstance<T>
-
- Type Parameters:
T
-
- All Superinterfaces:
jakarta.enterprise.inject.Instance<T>
,Iterable<T>
,jakarta.inject.Provider<T>
- All Known Implementing Classes:
InstanceImpl
public interface InjectableInstance<T> extends jakarta.enterprise.inject.Instance<T>
Enhanced version ofInstance
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jakarta.enterprise.inject.Instance
jakarta.enterprise.inject.Instance.Handle<T extends Object>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
clearCache()
Removes the cached result of theProvider.get()
operation.InstanceHandle<T>
getHandle()
Iterable<InstanceHandle<T>>
handles()
Iterator<T>
iterator()
This method attempts to resolve ambiguities.default T
orElse(T other)
If there is exactly one bean that matches the required type and qualifiers, returns the instance, otherwise returnsother
.default T
orNull()
If there is exactly one bean that matches the required type and qualifiers, returns the instance, otherwise returnsnull
.<U extends T>
InjectableInstance<U>select(jakarta.enterprise.util.TypeLiteral<U> subtype, Annotation... qualifiers)
InjectableInstance<T>
select(Annotation... qualifiers)
<U extends T>
InjectableInstance<U>select(Class<U> subtype, Annotation... qualifiers)
-
Methods inherited from interface jakarta.enterprise.inject.Instance
destroy, handlesStream, isAmbiguous, isResolvable, isUnsatisfied, stream
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
getHandle
InstanceHandle<T> getHandle()
- Specified by:
getHandle
in interfacejakarta.enterprise.inject.Instance<T>
-
handles
Iterable<InstanceHandle<T>> handles()
- Specified by:
handles
in interfacejakarta.enterprise.inject.Instance<T>
-
select
InjectableInstance<T> select(Annotation... qualifiers)
- Specified by:
select
in interfacejakarta.enterprise.inject.Instance<T>
-
select
<U extends T> InjectableInstance<U> select(Class<U> subtype, Annotation... qualifiers)
- Specified by:
select
in interfacejakarta.enterprise.inject.Instance<T>
-
select
<U extends T> InjectableInstance<U> select(jakarta.enterprise.util.TypeLiteral<U> subtype, Annotation... qualifiers)
- Specified by:
select
in interfacejakarta.enterprise.inject.Instance<T>
-
clearCache
void clearCache()
Removes the cached result of theProvider.get()
operation. If the cached result was a contextual reference of aDependent
bean, destroy the reference as well.- See Also:
WithCaching
-
iterator
Iterator<T> iterator()
This method attempts to resolve ambiguities.In general, if multiple beans are eligible then the container eliminates all beans that are:
- not alternatives, except for producer methods and fields of beans that are alternatives,
- default beans.
- Specified by:
iterator
in interfaceIterable<T>
- Returns:
- an iterator over the contextual references of the disambiguated beans
- See Also:
DefaultBean
-
orElse
default T orElse(T other)
If there is exactly one bean that matches the required type and qualifiers, returns the instance, otherwise returnsother
.- Parameters:
other
-- Returns:
- the bean instance or the other value
-
orNull
default T orNull()
If there is exactly one bean that matches the required type and qualifiers, returns the instance, otherwise returnsnull
.- Parameters:
other
-- Returns:
- the bean instance or
null
-
-