protected abstract static class AbstractWeldInitiator.AbstractBuilder<I extends AbstractWeldInitiator,T extends AbstractWeldInitiator.AbstractBuilder<I,T>> extends Object
| Modifier and Type | Field and Description |
|---|---|
protected Set<javax.enterprise.inject.spi.Bean<?>> |
beans |
protected List<Object> |
instancesToInject |
protected Map<String,Object> |
resources |
protected Set<Class<? extends Annotation>> |
scopesToActivate |
protected org.jboss.weld.environment.se.Weld |
weld |
| Constructor and Description |
|---|
AbstractBuilder(org.jboss.weld.environment.se.Weld weld) |
| Modifier and Type | Method and Description |
|---|---|
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.
|
T |
addBeans(javax.enterprise.inject.spi.Bean<?>... beans)
Instructs the initiator to add the specified beans during
AfterBeanDiscovery notification. |
T |
bindResource(String name,
Object resource)
Binds a name to an object.
|
I |
build() |
protected abstract I |
build(org.jboss.weld.environment.se.Weld weld,
List<Object> instancesToInject,
Set<Class<? extends Annotation>> scopesToActivate,
Set<javax.enterprise.inject.spi.Bean<?>> beans) |
protected Function<javax.enterprise.inject.spi.InjectionPoint,Object> |
getEjbFactory() |
protected Function<javax.enterprise.inject.spi.InjectionPoint,Object> |
getPersistenceContextFactory() |
protected Function<javax.enterprise.inject.spi.InjectionPoint,Object> |
getPersistenceUnitFactory() |
T |
inject(Object instance)
Instructs the initiator to inject the given non-contextual instance once the container is started, i.e.
|
protected abstract T |
self() |
T |
setEjbFactory(Function<javax.enterprise.inject.spi.InjectionPoint,Object> ejbFactory)
Makes it possible to mock
@EJB injection points. |
T |
setPersistenceContextFactory(Function<javax.enterprise.inject.spi.InjectionPoint,Object> persistenceContextFactory)
Makes it possible to mock
PersistenceContext injection points. |
T |
setPersistenceUnitFactory(Function<javax.enterprise.inject.spi.InjectionPoint,Object> persistenceUnitFactory)
Makes it possible to mock
PersistenceUnit injection points. |
protected final org.jboss.weld.environment.se.Weld weld
protected final Set<Class<? extends Annotation>> scopesToActivate
protected final Set<javax.enterprise.inject.spi.Bean<?>> beans
@SafeVarargs public final T activate(Class<? extends Annotation>... normalScopes)
ApplicationScoped is ignored as it is always active.
normalScopes - protected Function<javax.enterprise.inject.spi.InjectionPoint,Object> getPersistenceContextFactory()
protected Function<javax.enterprise.inject.spi.InjectionPoint,Object> getPersistenceUnitFactory()
public T inject(Object instance)
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 licecycle of the non-contextual instance is not
managed by the container and all injected references will be invalid after the test execution.
instance - public T addBeans(javax.enterprise.inject.spi.Bean<?>... beans)
AfterBeanDiscovery notification.beans - AfterBeanDiscovery.addBean(Bean),
MockBean,
MockInterceptorpublic T bindResource(String name, Object resource)
Resource injection points easily, e.g.:
@Dependent
class Foo {
@Resource(lookup = "bar")
String bar;
}
name - resource - public T setEjbFactory(Function<javax.enterprise.inject.spi.InjectionPoint,Object> ejbFactory)
@EJB injection points.
Note that for Weld 3 org.jboss.weld.module:weld-ejb dependency is also required.
ejbFactory - public T setPersistenceUnitFactory(Function<javax.enterprise.inject.spi.InjectionPoint,Object> persistenceUnitFactory)
PersistenceUnit injection points.persistenceUnitFactory - public T setPersistenceContextFactory(Function<javax.enterprise.inject.spi.InjectionPoint,Object> persistenceContextFactory)
PersistenceContext injection points.persistenceContextFactory - protected abstract T self()
protected abstract I build(org.jboss.weld.environment.se.Weld weld, List<Object> instancesToInject, Set<Class<? extends Annotation>> scopesToActivate, Set<javax.enterprise.inject.spi.Bean<?>> beans)
public I build()
Copyright © 2018. All rights reserved.