@Override protected <X> P createBean(InjectionTargetBean<X> owner, Class<T> beanClass) { return (P) new ProducerFieldBean<T>(owner, beanAttributes, beanClass, new FieldProducerFactory(annotatedMember, owner, owner.getWebBeansContext())); }
/** * {@inheritDoc} */ @Override public T create(CreationalContext<T> creationalContext) { T instance = null; instance = super.create(creationalContext); checkNullInstance(instance, producerField.getName()); checkScopeType(producerField.getName(), instance); return instance; }
@Override public boolean isPassivationCapable() { return isPassivationCapable(producerField.getType(), producerField.getModifiers()); }
if (!Modifier.isStatic(producerField.getCreatorField().getModifiers())) { throw new DefinitionException("In an EJB all producer fields should be static"); producerField.getCreatorField(), webBeansContext.getAnnotatedElementFactory().newAnnotatedType(producerField.getBeanClass())));
type = ((ProducerFieldBean<?>)bean).getCreatorField().getGenericType();
public void fireProcessProducerFieldBeanEvent(Map<ProducerFieldBean<?>,AnnotatedField<?>> annotatedFields) { for(Map.Entry<ProducerFieldBean<?>, AnnotatedField<?>> beanEntry : annotatedFields.entrySet()) { ProducerFieldBean<?> bean = beanEntry.getKey(); AnnotatedField<?> field = beanEntry.getValue(); Producer<?> producer = bean.getProducer(); AnnotatedParameter<?> param = null; if (ProducerFieldProducer.class.isInstance(producer)) { ProducerFieldProducer fieldProducer = ProducerFieldProducer.class.cast(producer); AnnotatedMethod<?> dm = fieldProducer.getDisposerMethod(); if (dm != null && dm.getParameters() != null && !dm.getParameters().isEmpty()) { param = dm.getParameters().iterator().next(); } } GProcessProducerField processProducerFieldEvent = new GProcessProducerField(bean, field, param); //Fire ProcessProducer webBeansContext.getBeanManagerImpl().fireEvent(processProducerFieldEvent, true, AnnotationUtil.EMPTY_ANNOTATION_ARRAY); processProducerFieldEvent.setStarted(); } }
producerField.getCreatorField(), webBeansContext.getAnnotatedElementFactory().newAnnotatedType(producerField.getBeanClass())));
if (GenericsUtil.satisfiesDependency(false, true, field.getCreatorField().getType(), param.getBaseType()))
producerField.getCreatorField(), webBeansContext.getAnnotatedElementFactory().newAnnotatedType(producerField.getBeanClass())));
for(ProducerFieldBean<?> producerField : producerFieldBeans) AnnotatedField<?> field = annotatedElementFactory.newAnnotatedField(producerField.getCreatorField(), annotatedType); ProcessProducerImpl<?, ?> producerEvent = WebBeansUtil.fireProcessProducerEventForField(producerField, field); WebBeansUtil.inspectErrorStack("There are errors that are added by ProcessProducer event observers for ProducerFields. Look at logs for further details");