package de.holisticon.dropwizard.weld;
import com.google.common.collect.Sets;
import org.slf4j.Logger;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.AfterBeanDiscovery;
import javax.enterprise.inject.spi.BeforeBeanDiscovery;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.ProcessAnnotatedType;
import static org.slf4j.LoggerFactory.getLogger;
import java.util.Set;
class DropwizardCdiExtension implements Extension {
private final Logger logger = getLogger(this.getClass());
private final Set<String> names = Sets.newHashSet();
void beforeBeanDiscovery(@Observes BeforeBeanDiscovery bbd) {
logger.error("============================> beginning the scanning process");
}
<T> void processAnnotatedType(@Observes ProcessAnnotatedType<T> pat) {
final String name = pat.getAnnotatedType().getJavaClass().getName();
logger.debug("============================> scanning type: {}", name);
names.add(name);
}
void afterBeanDiscovery(@Observes AfterBeanDiscovery abd) {
logger.error("============================> finished the scanning process");
}
public Set<String> getNames() {
return names;
}
}