Class AbstractWeldInitiator.AbstractBuilder<I extends AbstractWeldInitiator,​T extends AbstractWeldInitiator.AbstractBuilder<I,​T>>

    • Field Detail

      • weld

        protected final org.jboss.weld.environment.se.Weld weld
      • instancesToInject

        protected final List<Object> instancesToInject
      • beans

        protected final Set<jakarta.enterprise.inject.spi.Bean<?>> beans
    • Constructor Detail

      • AbstractBuilder

        public AbstractBuilder​(org.jboss.weld.environment.se.Weld weld)
    • Method Detail

      • activate

        @SafeVarargs
        public final T activate​(Class<? extends Annotation>... normalScopes)
        Activate and deactivate contexts for the given normal scopes for the lifetime of the initialized Weld container, by default for each test method execution.

        ApplicationScoped is ignored as it is always active.

        Parameters:
        normalScopes -
        Returns:
        self
      • getEjbFactory

        protected Function<jakarta.enterprise.inject.spi.InjectionPoint,​Object> getEjbFactory()
      • getPersistenceContextFactory

        protected Function<jakarta.enterprise.inject.spi.InjectionPoint,​Object> getPersistenceContextFactory()
      • getPersistenceUnitFactory

        protected Function<jakarta.enterprise.inject.spi.InjectionPoint,​Object> getPersistenceUnitFactory()
      • inject

        public T inject​(Object instance)
        Instructs the initiator to inject the given non-contextual instance once the container is started, i.e. during test execution.

        This method could be used e.g. to inject a test class instance:

         public class InjectTest {
        
             @Rule
             public WeldInitiator weld = WeldInitiator.fromTestPackage().inject(this).build();
        
             @Inject
             Foo foo;
        
             @Test
             public void testFoo() {
                 assertEquals("foo", foo.getId());
             }
         }
         

        Injected Dependent bean instances are destroyed after the test execution. However, the lifecycle of the non-contextual instance is not managed by the container and all injected references will be invalid after the test execution.

        Parameters:
        instance -
        Returns:
        self
      • addBeans

        public T addBeans​(jakarta.enterprise.inject.spi.Bean<?>... beans)
        Instructs the initiator to add the specified beans during AfterBeanDiscovery notification.
        Parameters:
        beans -
        Returns:
        self
        Since:
        1.1
        See Also:
        AfterBeanDiscovery.addBean(Bean), MockBean, MockInterceptor
      • bindResource

        public T bindResource​(String name,
                              Object resource)
        Binds a name to an object. This allows to mock Resource injection points easily, e.g.:
         @Dependent
         class Foo {
        
             @Resource(lookup = "bar")
             String bar;
         }
         
        Parameters:
        name -
        resource -
        Returns:
        self
        Since:
        1.2
      • setEjbFactory

        public T setEjbFactory​(Function<jakarta.enterprise.inject.spi.InjectionPoint,​Object> ejbFactory)
        Makes it possible to mock @EJB injection points.

        Note that for Weld 3 org.jboss.weld.module:weld-ejb dependency is also required.

        Parameters:
        ejbFactory -
        Returns:
        self
        Since:
        1.2
      • setPersistenceUnitFactory

        public T setPersistenceUnitFactory​(Function<jakarta.enterprise.inject.spi.InjectionPoint,​Object> persistenceUnitFactory)
        Makes it possible to mock PersistenceUnit injection points.
        Parameters:
        persistenceUnitFactory -
        Returns:
        self
        Since:
        1.2
      • setPersistenceContextFactory

        public T setPersistenceContextFactory​(Function<jakarta.enterprise.inject.spi.InjectionPoint,​Object> persistenceContextFactory)
        Makes it possible to mock PersistenceContext injection points.
        Parameters:
        persistenceContextFactory -
        Returns:
        self
        Since:
        1.2
      • self

        protected abstract T self()
      • build

        protected abstract I build​(org.jboss.weld.environment.se.Weld weld,
                                   List<Object> instancesToInject,
                                   Set<Class<? extends Annotation>> scopesToActivate,
                                   Set<jakarta.enterprise.inject.spi.Bean<?>> beans)
      • build

        public I build()
        Returns:
        a new initiator instance