Class BeanManagerInstanceCreator

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, JsonbComponentInstanceCreator

    public class BeanManagerInstanceCreator
    extends java.lang.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 Detail

      • BeanManagerInstanceCreator

        public BeanManagerInstanceCreator​(java.lang.Object beanManager)
        Creates a new instance.
        Parameters:
        beanManager - Bean manager.
    • Method Detail

      • getOrCreateComponent

        public <T> T getOrCreateComponent​(java.lang.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 java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException