Interface SyntheticBeanCreator<T>

Type Parameters:
T - the bean class of the synthetic bean

public interface SyntheticBeanCreator<T>
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 Type
    Method
    Description
    create(Instance<Object> lookup, Parameters params)
    Creates an instance of the synthetic bean.
  • Method Details

    • create

      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 - an Instance that can be used to lookup other beans, never null
      params - the parameter map, never null
      Returns:
      an instance of the bean, may only be null if the synthetic bean is @Dependent