@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> void createDecorator(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); DecoratorImpl<T> bean = DecoratorImpl.of(attributes, weldClass, manager); getEnvironment().addDecorator(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> void createInterceptor(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); InterceptorImpl<T> bean = InterceptorImpl.of(attributes, weldClass, manager); getEnvironment().addInterceptor(bean); }
public <X> BeanAttributes<?> internalCreateBeanAttributes(AnnotatedMember<X> member) { EnhancedAnnotatedMember<?, X, Member> weldMember = null; if (member instanceof AnnotatedField<?> || member instanceof AnnotatedMethod<?>) { weldMember = services.get(MemberTransformer.class).loadEnhancedMember(member, getId()); } else { throw BeanManagerLogger.LOG.cannotCreateBeanAttributesForIncorrectAnnotatedMember(member); } return BeanAttributesFactory.forBean(weldMember, this); }
protected <T> void createDecorator(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); DecoratorImpl<T> bean = DecoratorImpl.of(attributes, weldClass, manager); getEnvironment().addDecorator(bean); }
protected <T> void createDecorator(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); DecoratorImpl<T> bean = DecoratorImpl.of(attributes, weldClass, manager); getEnvironment().addDecorator(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> void createInterceptor(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); InterceptorImpl<T> bean = InterceptorImpl.of(attributes, weldClass, manager); getEnvironment().addInterceptor(bean); }
protected <T> void createInterceptor(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); InterceptorImpl<T> bean = InterceptorImpl.of(attributes, weldClass, manager); getEnvironment().addInterceptor(bean); }
public <X> BeanAttributes<?> internalCreateBeanAttributes(AnnotatedMember<X> member) { EnhancedAnnotatedMember<?, X, Member> weldMember = null; if (member instanceof AnnotatedField<?> || member instanceof AnnotatedMethod<?>) { weldMember = services.get(MemberTransformer.class).loadEnhancedMember(member, getId()); } else { throw BeanManagerLogger.LOG.cannotCreateBeanAttributesForIncorrectAnnotatedMember(member); } return BeanAttributesFactory.forBean(weldMember, this); }
protected <T> void createInterceptor(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); InterceptorImpl<T> bean = InterceptorImpl.of(attributes, weldClass, manager); getEnvironment().addInterceptor(bean); }
protected <T> void createInterceptor(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); InterceptorImpl<T> bean = InterceptorImpl.of(attributes, weldClass, manager); getEnvironment().addInterceptor(bean); }
protected <T> void createDecorator(EnhancedAnnotatedType<T> weldClass) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(weldClass, getManager()); DecoratorImpl<T> bean = DecoratorImpl.of(attributes, weldClass, manager); getEnvironment().addDecorator(bean); }
public <X> BeanAttributes<?> internalCreateBeanAttributes(AnnotatedMember<X> member) { EnhancedAnnotatedMember<?, X, Member> weldMember = null; if (member instanceof AnnotatedField<?> || member instanceof AnnotatedMethod<?>) { weldMember = services.get(MemberTransformer.class).loadEnhancedMember(member, getId()); } else { throw BeanManagerLogger.LOG.cannotCreateBeanAttributesForIncorrectAnnotatedMember(member); } return BeanAttributesFactory.forBean(weldMember, this); }
@Override public <T> BeanAttributes<T> createBeanAttributes(AnnotatedType<T> type) { EnhancedAnnotatedType<T> clazz = services.get(ClassTransformer.class).getEnhancedAnnotatedType(type, getId()); if (services.get(EjbSupport.class).isEjb(type.getJavaClass())) { return services.get(EjbSupport.class).createSessionBeanAttributes(clazz, this); } return BeanAttributesFactory.forBean(clazz, this); }
@Override public <T> BeanAttributes<T> createBeanAttributes(AnnotatedType<T> type) { EnhancedAnnotatedType<T> clazz = services.get(ClassTransformer.class).getEnhancedAnnotatedType(type, getId()); if (services.get(EjbSupport.class).isEjb(type.getJavaClass())) { return services.get(EjbSupport.class).createSessionBeanAttributes(clazz, this); } return BeanAttributesFactory.forBean(clazz, this); }
protected <X, T> void createProducerMethod(AbstractClassBean<X> declaringBean, EnhancedAnnotatedMethod<T, ? super X> annotatedMethod) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(annotatedMethod, getManager()); DisposalMethod<X, ?> disposalMethod = resolveDisposalMethod(attributes, declaringBean); ProducerMethod<? super X, T> bean = ProducerMethod.of(attributes, annotatedMethod, declaringBean, disposalMethod, manager, services); containerLifecycleEvents.preloadProcessBeanAttributes(bean.getType()); containerLifecycleEvents.preloadProcessBean(ProcessProducerMethod.class, annotatedMethod.getBaseType(), bean.getBeanClass()); containerLifecycleEvents.preloadProcessProducer(bean.getBeanClass(), annotatedMethod.getBaseType()); getEnvironment().addProducerMethod(bean); }
protected <X, T> void createProducerMethod(AbstractClassBean<X> declaringBean, EnhancedAnnotatedMethod<T, ? super X> annotatedMethod) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(annotatedMethod, getManager()); DisposalMethod<X, ?> disposalMethod = resolveDisposalMethod(attributes, declaringBean); ProducerMethod<? super X, T> bean = ProducerMethod.of(attributes, annotatedMethod, declaringBean, disposalMethod, manager, services); containerLifecycleEvents.preloadProcessBeanAttributes(bean.getType()); containerLifecycleEvents.preloadProcessBean(ProcessProducerMethod.class, annotatedMethod.getBaseType(), bean.getBeanClass()); containerLifecycleEvents.preloadProcessProducer(bean.getBeanClass(), annotatedMethod.getBaseType()); getEnvironment().addProducerMethod(bean); }
protected <X, T> void createProducerMethod(AbstractClassBean<X> declaringBean, EnhancedAnnotatedMethod<T, ? super X> annotatedMethod) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(annotatedMethod, getManager()); DisposalMethod<X, ?> disposalMethod = resolveDisposalMethod(attributes, declaringBean); ProducerMethod<? super X, T> bean = ProducerMethod.of(attributes, annotatedMethod, declaringBean, disposalMethod, manager, services); containerLifecycleEvents.preloadProcessBeanAttributes(bean.getType()); containerLifecycleEvents.preloadProcessBean(ProcessProducerMethod.class, annotatedMethod.getBaseType(), bean.getBeanClass()); containerLifecycleEvents.preloadProcessProducer(bean.getBeanClass(), annotatedMethod.getBaseType()); getEnvironment().addProducerMethod(bean); }