Top Description Methods
jakarta.enterprise.inject.build.compatible.spi

public Interface SyntheticBeanCreator<T>

Type Parameters
<T>
the bean class of the synthetic bean
Imports
jakarta.enterprise.inject.Instance

Creation function for a synthetic bean defined by SyntheticBeanBuilder. CDI container will create an instance of the creation function every time when it needs to obtain an instance of the synthetic bean. Implementations must be public classes with a public zero-parameter constructor; they must not be beans.
Since
4.0

Method Summary

Modifier and TypeMethod and Description
public T

Returns:

an instance of the bean, may only be null if the synthetic bean is @Dependent
create
(Instance<Object>
an Instance that can be used to lookup other beans, never null
lookup
,
Parameters
the parameter map, never null
params
)

Creates an instance of the synthetic bean.

Method Detail

createback to summary
public T create(Instance<Object> lookup, Parameters params)

Creates an instance of the synthetic bean. May only return null if the synthetic bean is @Dependent.

The Instance parameter may be used to simulate producer method parameter injection. However, @Dependent bean instances obtained from the Instance during execution remain managed until the synthetic bean instance is destroyed. Therefore, implementations are encouraged to destroy unneeded @Dependent bean instances obtained from the Instance.

If the synthetic bean is @Dependent, the InjectionPoint to which it is injected may be looked up from the Instance parameter.

The parameter map contains the same values that were passed to the SyntheticBeanBuilder that defined the synthetic bean.

Parameters
lookup:Instance<Object>

an Instance that can be used to lookup other beans, never null

params:Parameters

the parameter map, never null

Returns:T

an instance of the bean, may only be null if the synthetic bean is @Dependent