package org.jboss.resteasy.test.cdi.extensions.resource;
import org.jboss.logging.Logger;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.AfterBeanDiscovery;
import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.Extension;
/**
* BostonBeanExtension implements a CDI extension.
* In particular, it creates a BostonBean for each of the two classes,
* BostonHolder and BostonLeaf, that are annotated with @Boston, and it
* registers them with the CDI runtime.
*/
public class CDIExtensionsBostonBeanExtension implements Extension {
private static Logger log = Logger.getLogger(CDIExtensionsBostonBeanExtension.class);
@SuppressWarnings({"rawtypes", "unchecked"})
void afterBeanDiscovery(@Observes AfterBeanDiscovery abd, BeanManager bm) {
log.info("AfterBeanDiscovery");
CDIExtensionsBostonBean<?> rb = new CDIExtensionsBostonBean(CDIExtensionsBostonHolder.class, bm.createInjectionTarget(bm.createAnnotatedType(CDIExtensionsBostonHolder.class)));
abd.addBean(rb);
log.info("registered " + rb.toString());
rb = new CDIExtensionsBostonBean(CDIExtensionsBostonlLeaf.class, bm.createInjectionTarget(bm.createAnnotatedType(CDIExtensionsBostonlLeaf.class)));
abd.addBean(rb);
log.info("registered " + rb.toString());
}
}