@SuppressWarnings({ "rawtypes", "unchecked" }) private static void doDefineNewManagedBean(BeanManagerImpl beanManager, String bdaId, Class<?> beanClass) { try { ClassTransformer classTransformer = getClassTransformer(); SlimAnnotatedType<?> annotatedType = classTransformer.getBackedAnnotatedType(beanClass, bdaId); boolean managedBeanOrDecorator = Beans.isTypeManagedBeanOrDecoratorOrInterceptor(annotatedType); if (managedBeanOrDecorator) { EnhancedAnnotatedType eat = EnhancedAnnotatedTypeImpl.of(annotatedType, classTransformer); BeanAttributes attributes = BeanAttributesFactory.forBean(eat, beanManager); ManagedBean<?> bean = ManagedBean.of(attributes, eat, beanManager); ReflectionHelper.set(beanManager, beanManager.getClass(), "beanSet", Collections.synchronizedSet(new HashSet<Bean<?>>())); beanManager.addBean(bean); beanManager.getBeanResolver().clear(); bean.initializeAfterBeanDiscovery(); LOGGER.debug("Bean defined '{}'", beanClass.getName()); } else { // TODO : define session bean LOGGER.warning("Bean NOT? defined '{}', session bean?", beanClass.getName()); } } catch (Exception e) { LOGGER.debug("Bean definition failed.", e); } }
protected <T> ManagedBean<T> createManagedBean(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); ManagedBean<T> bean = ManagedBean.of(attributes, weldClass, manager); getEnvironment().addManagedBean(bean); return bean; }
protected <T> ManagedBean<T> createManagedBean(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); ManagedBean<T> bean = ManagedBean.of(attributes, weldClass, manager); getEnvironment().addManagedBean(bean); return bean; }
protected <T> ManagedBean<T> createManagedBean(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); ManagedBean<T> bean = ManagedBean.of(attributes, weldClass, manager); getEnvironment().addManagedBean(bean); return bean; }
protected <T> ManagedBean<T> createManagedBean(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); ManagedBean<T> bean = ManagedBean.of(attributes, weldClass, manager); getEnvironment().addManagedBean(bean); return bean; }
protected <T> ManagedBean<T> createManagedBean(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); ManagedBean<T> bean = ManagedBean.of(attributes, weldClass, manager); getEnvironment().addManagedBean(bean); return bean; }
protected <T> ManagedBean<T> createManagedBean(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); ManagedBean<T> bean = ManagedBean.of(attributes, weldClass, manager); getEnvironment().addManagedBean(bean); return bean; }