import org.wamblee.inject.InjectorFactory;
/**
- * Factory that creates CDI injectors. In case no beanmanager is found then
- * injectors will do nothing. This class may be subclassed for testing to
- * override the injectors that are returned.
+ * Factory that creates CDI injectors. This class may be subclassed for testing
+ * to override the injectors that are returned.
*
* @author Erik Brakkee
*/
private BeanManager beanManager;
/**
- * Constructs the factory using the default bean manager.
+ * Constructs the factory using a default bean manager.
+ *
+ * @throws IllegalArgumentException
+ * If bean manager is null.
*/
public CdiInjectorFactory() {
this(BeanManagerLookup.lookup());
* Constructs the factory using an explicit bean manager.
*
* @param aBeanManager
+ * @throws IllegalArgumentException
+ * If bean manager is null.
*/
public CdiInjectorFactory(BeanManager aBeanManager) {
+ if (aBeanManager == null) {
+ throw new IllegalArgumentException("Bean manager is null");
+ }
beanManager = aBeanManager;
}
@Override
public Injector create(Class aClass) {
- if (beanManager == null) {
- // Typically for unit test.
- return new Injector() {
- @Override
- public void inject(Object aComponent) {
- // Empty.
- }
- };
- }
return new CdiInjector(beanManager, aClass);
}