public class Weld extends Object
The preferred method of booting Weld SE.
Typical usage of this API looks like this:
Weld weld = new Weld(); WeldContainer container = weld.initialize(); container.instance().select(Foo.class).get(); container.event().select(Bar.class).fire(new Bar()); weld.shutdown();
Constructor and Description |
---|
Weld() |
Modifier and Type | Method and Description |
---|---|
void |
addExtension(javax.enterprise.inject.spi.Extension extension)
Add extension explicitly.
|
protected org.jboss.weld.bootstrap.spi.Deployment |
createDeployment(org.jboss.weld.resources.spi.ResourceLoader resourceLoader,
org.jboss.weld.bootstrap.api.Bootstrap bootstrap)
Extensions to Weld SE can subclass and override this method to customise
the deployment before weld boots up.
|
protected <T> T |
getInstanceByType(javax.enterprise.inject.spi.BeanManager manager,
Class<T> type,
Annotation... bindings)
Utility method allowing managed instances of beans to provide entry points
for non-managed beans (such as
WeldContainer ). |
WeldContainer |
initialize()
Boots Weld and creates and returns a WeldContainer instance, through which
beans and events can be accessed.
|
void |
shutdown()
Shuts down Weld.
|
public void addExtension(javax.enterprise.inject.spi.Extension extension)
extension
- an extensionpublic WeldContainer initialize()
protected org.jboss.weld.bootstrap.spi.Deployment createDeployment(org.jboss.weld.resources.spi.ResourceLoader resourceLoader, org.jboss.weld.bootstrap.api.Bootstrap bootstrap)
Extensions to Weld SE can subclass and override this method to customise the deployment before weld boots up. For example, to add a custom ResourceLoader, you would subclass Weld like so:
public class MyWeld extends Weld { protected Deployment createDeployment() { Deployment deployment = super.createDeployment(); deployment.getServices().add(ResourceLoader.class, new MyResourceLoader()); return deployment; } }
This could then be used as normal:
WeldContainer container = new MyWeld().initialize();
protected <T> T getInstanceByType(javax.enterprise.inject.spi.BeanManager manager, Class<T> type, Annotation... bindings)
WeldContainer
). Should only called
once Weld has finished booting.manager
- the BeanManager to use to access the managed instancetype
- the type of the Beanbindings
- the bean's qualifiersIllegalArgumentException
- if the given type represents a type
variableIllegalArgumentException
- if two instances of the same qualifier
type are givenIllegalArgumentException
- if an instance of an annotation that is
not a qualifier type is givenjavax.enterprise.inject.UnsatisfiedResolutionException
- if no beans can be resolved * @throws
AmbiguousResolutionException if the ambiguous dependency
resolution rules failIllegalArgumentException
- if the given type is not a bean type of
the given beanpublic void shutdown()
Copyright © 2014 Seam Framework. All rights reserved.