@Internal public interface BeanResolutionContext extends ValueResolver<CharSequence>, AutoCloseable
Modifier and Type | Interface and Description |
---|---|
static interface |
BeanResolutionContext.Path
Represents a path taken to resolve a bean definitions dependencies.
|
static interface |
BeanResolutionContext.Segment<T>
A segment in a path.
|
Modifier and Type | Method and Description |
---|---|
<T> void |
addDependentBean(BeanIdentifier identifier,
BeanDefinition<T> definition,
T bean)
Adds a dependent bean to the resolution context.
|
<T> void |
addInFlightBean(BeanIdentifier beanIdentifier,
T instance)
Adds a bean that is created as part of the resolution.
|
default void |
close() |
BeanResolutionContext |
copy()
Copy current context to be used later.
|
void |
destroyInjectScopedBeans()
Call back to destroy any
InjectScope beans. |
default List<BeanRegistration<?>> |
getAndResetDependentBeans() |
Object |
getAttribute(CharSequence key) |
BeanContext |
getContext() |
Qualifier<?> |
getCurrentQualifier() |
<T> T |
getInFlightBean(BeanIdentifier beanIdentifier)
Obtains an inflight bean for the given identifier.
|
BeanResolutionContext.Path |
getPath() |
BeanDefinition |
getRootDefinition() |
Object |
removeAttribute(CharSequence key)
Remove the attribute for the given key.
|
void |
removeInFlightBean(BeanIdentifier beanIdentifier)
Removes a bean that is in the process of being created.
|
Object |
setAttribute(CharSequence key,
Object value)
Store a value within the context.
|
void |
setCurrentQualifier(Qualifier<?> qualifier)
Sets the current qualifier.
|
get, get, get, get
default void close()
close
in interface AutoCloseable
void destroyInjectScopedBeans()
InjectScope
beans.InjectScope
BeanResolutionContext copy()
BeanContext getContext()
BeanDefinition getRootDefinition()
BeanResolutionContext.Path getPath()
Object setAttribute(CharSequence key, Object value)
key
- The keyvalue
- The valueObject getAttribute(CharSequence key)
key
- The keyObject removeAttribute(CharSequence key)
key
- the key<T> void addInFlightBean(BeanIdentifier beanIdentifier, T instance)
BeanContext.inject(Object)
T
- THe instance typebeanIdentifier
- The bean identifierinstance
- The instancevoid removeInFlightBean(BeanIdentifier beanIdentifier)
BeanContext.inject(Object)
beanIdentifier
- The bean identifier@Nullable <T> T getInFlightBean(BeanIdentifier beanIdentifier)
PostConstruct
method that also triggers bean resolution of the same bean.T
- The bean typebeanIdentifier
- The bean identifier@Nullable Qualifier<?> getCurrentQualifier()
void setCurrentQualifier(@Nullable Qualifier<?> qualifier)
qualifier
- The qualifier<T> void addDependentBean(BeanIdentifier identifier, BeanDefinition<T> definition, T bean)
T
- The generic typeidentifier
- The identifierdefinition
- The bean definitionbean
- The bean@NonNull default List<BeanRegistration<?>> getAndResetDependentBeans()