Class BeanContainerImpl

    • Constructor Detail

      • BeanContainerImpl

        BeanContainerImpl​(ArcContainer container)
    • Method Detail

      • 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