Class BeanManagerInstanceCreator

java.lang.Object
org.eclipse.yasson.internal.components.BeanManagerInstanceCreator
All Implemented Interfaces:
Closeable, AutoCloseable, JsonbComponentInstanceCreator

public class BeanManagerInstanceCreator extends Object implements JsonbComponentInstanceCreator
CDI instance manager. Instances are created and stored per instance of JsonBinding. Calling close on JsonBinding, cleans up Jsonb CDI instances and in case of "dependant" scope its dependencies. CDI API dependency is optional, this class is never referenced / loaded if CDI API is not resolvable.
  • Constructor Details

    • BeanManagerInstanceCreator

      public BeanManagerInstanceCreator(Object beanManager)
      Creates a new instance.
      Parameters:
      beanManager - Bean manager.
  • Method Details

    • getOrCreateComponent

      public <T> T getOrCreateComponent(Class<T> componentClass)
      Creates an instance of the CDI managed bean. Calls CDI API to inject into the bean.
      Specified by:
      getOrCreateComponent in interface JsonbComponentInstanceCreator
      Type Parameters:
      T - Jsonb component type
      Parameters:
      componentClass - bean class to be instantiated.
      Returns:
      New instance of bean class with injected content.
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException