use of javax.enterprise.inject.Alternative in project deltaspike by apache.
the class BeanBuilder method readFromType.
/**
* <p>
* Read the {@link AnnotatedType}, creating a bean from the class and it's
* annotations.
* </p>
* <p/>
* <p>
* By default the bean lifecycle will wrap the result of calling
* {@link BeanManager#createInjectionTarget(AnnotatedType)}.
* </p>
* <p/>
* <p>
* {@link BeanBuilder} does <em>not</em> support reading members of the class
* to create producers or observer methods.
* </p>
*
* @param type the type to read
*/
public BeanBuilder<T> readFromType(AnnotatedType<T> type) {
this.beanClass = type.getJavaClass();
if (beanLifecycle == null) {
setDefaultBeanLifecycle(type);
}
this.qualifiers = new HashSet<Annotation>();
this.stereotypes = new HashSet<Class<? extends Annotation>>();
this.types = new HashSet<Type>();
for (Annotation annotation : type.getAnnotations()) {
if (beanManager.isQualifier(annotation.annotationType())) {
this.qualifiers.add(annotation);
} else if (beanManager.isScope(annotation.annotationType())) {
this.scope = annotation.annotationType();
} else if (beanManager.isStereotype(annotation.annotationType())) {
this.stereotypes.add(annotation.annotationType());
}
if (annotation instanceof Named) {
this.name = ((Named) annotation).value();
if (name == null || name.length() == 0) {
name = createDefaultBeanName(type);
}
}
if (annotation instanceof Alternative) {
this.alternative = true;
}
}
if (type.isAnnotationPresent(Typed.class)) {
Typed typed = type.getAnnotation(Typed.class);
this.types.addAll(Arrays.asList(typed.value()));
} else {
for (Class<?> c = type.getJavaClass(); c != Object.class && c != null; c = c.getSuperclass()) {
this.types.add(c);
}
Collections.addAll(this.types, type.getJavaClass().getInterfaces());
this.types.add(Object.class);
}
if (qualifiers.isEmpty()) {
qualifiers.add(new DefaultLiteral());
}
qualifiers.add(new AnyLiteral());
this.id = ImmutableBeanWrapper.class.getName() + ":" + Annotateds.createTypeId(type);
return this;
}
use of javax.enterprise.inject.Alternative in project kie-wb-common by kiegroup.
the class TestAppSetup method classLoaderHelper.
@Produces
@Alternative
public ModuleClassLoaderHelper classLoaderHelper() {
ModuleClassLoaderHelper classLoaderHelper = mock(ModuleClassLoaderHelper.class);
when(classLoaderHelper.getModuleClassLoader(any())).thenReturn(this.getClass().getClassLoader());
return classLoaderHelper;
}
Aggregations