Class BeanContainerImpl

java.lang.Object
io.quarkus.arc.runtime.BeanContainerImpl
All Implemented Interfaces:
BeanContainer

class BeanContainerImpl extends Object implements BeanContainer
  • Constructor Details

    • BeanContainerImpl

      BeanContainerImpl(ArcContainer container)
  • Method Details

    • beanInstance

      public <T> T beanInstance(Class<T> beanType, Annotation... beanQualifiers)
      Description copied from interface: BeanContainer
      Resolves a bean instance for given bean type and qualifiers.

      Performs standard CDI resolution meaning it either returns a bean instance or throws a corresponding exception if the dependency is either unsatisfied or ambiguous.

      Specified by:
      beanInstance in interface BeanContainer
      Parameters:
      beanType - type of the bean
      beanQualifiers - bean qualifiers
      Returns:
      a bean instance; never null
    • beanInstanceFactory

      public <T> BeanContainer.Factory<T> beanInstanceFactory(Class<T> type, Annotation... qualifiers)
      Description copied from interface: BeanContainer
      Returns an instance factory for given bean type and qualifiers.

      This method performs CDI ambiguous dependency resolution and throws and exception if there are two or more beans with given type and qualifiers.

      If no matching bean is found, uses a default fallback factory that will attempt to instantiate a non-CDI object of the given class via no-args constructor.

      If you need custom factory behavior, take a look at BeanContainer.beanInstanceFactory(Supplier, Class, Annotation...)

      Specified by:
      beanInstanceFactory in interface BeanContainer
      Parameters:
      type - bean type
      qualifiers - bean qualifiers
      Returns:
      a bean instance factory, never null
    • beanInstanceFactory

      public <T> BeanContainer.Factory<T> beanInstanceFactory(Supplier<BeanContainer.Factory<T>> fallbackSupplier, Class<T> type, Annotation... qualifiers)
      Description copied from interface: BeanContainer
      Returns an instance factory for given bean type and qualifiers.

      This method performs CDI ambiguous dependency resolution and throws and exception if there are two or more beans with given type and qualifiers.

      If no matching bean is found, delegates all calls to the supplied factory fallback.

      Specified by:
      beanInstanceFactory in interface BeanContainer
      Parameters:
      fallbackSupplier - supplier to delegate to if there is no bean
      type - bean type
      qualifiers - bean qualifiers
      Returns:
      a bean instance factory, never null
    • requestContext

      public ManagedContext requestContext()
      Description copied from interface: BeanContainer
       ManagedContext requestContext = beanContainer.requestContext();
       if (requestContext.isActive()) {
           // Perform action
       } else {
           try {
               requestContext.activate();
               // Perform action
           } finally {
               requestContext.terminate();
           }
       }
       
      Specified by:
      requestContext in interface BeanContainer
      Returns:
      the context for RequestScoped