Refine search
/** * Creates a producer field * * @param field The underlying method abstraction * @param declaringBean The declaring bean abstraction * @param beanManager the current manager * @return A producer field */ public static <X, T> ProducerField<X, T> of(BeanAttributes<T> attributes, EnhancedAnnotatedField<T, ? super X> field, AbstractClassBean<X> declaringBean, DisposalMethod<X, ?> disposalMethod, BeanManagerImpl beanManager, ServiceRegistry services) { return new ProducerField<X, T>(attributes, field, declaringBean, disposalMethod, beanManager, services); }
/** * Access to the underlying producer field, performs return value check. */ private T createUnderlying(CreationalContext<T> creationalContext) { return super.create(creationalContext); }
@Override public Bean<X> getDeclaringBean() { return ProducerField.this.getDeclaringBean(); }
private ProcessProducerFieldImpl(BeanManagerImpl beanManager, ProducerField<T, X> bean) { super(beanManager, ProcessProducerField.class, new Type[]{bean.getAnnotated().getBaseType(), bean.getAnnotated().getDeclaringType().getBaseType()}, bean); }
@Override public String toString() { return "Producer Field [" + Formats.formatType(getAnnotated().getBaseType()) + "] with qualifiers [" + Formats.formatAnnotations(getQualifiers()) + "] declared as [" + getAnnotated() + "]"; }
protected <X, T> void createProducerField(AbstractClassBean<X> declaringBean, EnhancedAnnotatedField<T, ? super X> field) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(field, getManager()); DisposalMethod<X, ?> disposalMethod = resolveDisposalMethod(attributes, declaringBean); ProducerField<X, T> bean; if (EEResourceProducerField.isEEResourceProducerField(manager, field)) { if (field.isStatic()) { bean = StaticEEResourceProducerField.of(attributes, field, declaringBean, disposalMethod, manager, services); } else { bean = EEResourceProducerField.of(attributes, field, declaringBean, disposalMethod, manager, services); } } else { bean = ProducerField.of(attributes, field, declaringBean, disposalMethod, manager, services); } containerLifecycleEvents.preloadProcessBeanAttributes(bean.getType()); containerLifecycleEvents.preloadProcessBean(ProcessProducerField.class, field.getBaseType(), bean.getBeanClass()); containerLifecycleEvents.preloadProcessProducer(bean.getBeanClass(), field.getBaseType()); getEnvironment().addProducerField(bean); }
super(attributes, new StringBeanIdentifier(BeanIdentifiers.forProducerField(field, declaringBean)), declaringBean, manager, services); this.enhancedAnnotatedField = field; this.annotatedField = field.slim(); initType(); this.proxiable = Proxies.isTypesProxyable(field.getTypeClosure(), beanManager.getServices()); setProducer(new ProducerFieldProducer<X, T>(field, disposalMethod) {
private EEResourceCallable(BeanManagerImpl beanManager, ProducerField<?, T> producerField, CreationalContext<T> creationalContext, T instance) { super(beanManager); this.beanId = producerField.getIdentifier(); this.creationalContext = creationalContext; this.instance = instance; }
@Override public void internalInitialize(BeanDeployerEnvironment environment) { super.internalInitialize(environment); checkEEResource(); proxyFactory = new ProxyFactory<T>(getBeanManager().getContextId(), getType(), getTypes(), this); }
public AnnotatedField<T> getAnnotatedProducerField() { checkWithinObserverNotification(); if (getBean().getAnnotated() != null) { return cast(getBean().getAnnotated()); } else { return null; } } }
private ProcessProducerFieldImpl(BeanManagerImpl beanManager, ProducerField<T, X> bean) { super(beanManager, ProcessProducerField.class, new Type[]{bean.getAnnotated().getBaseType(), bean.getAnnotated().getDeclaringType().getBaseType()}, bean); }
@Override public String toString() { return "Producer Field [" + Formats.formatType(getAnnotated().getBaseType()) + "] with qualifiers [" + Formats.formatAnnotations(getQualifiers()) + "] declared as [" + getAnnotated() + "]"; }
protected <X, T> void createProducerField(AbstractClassBean<X> declaringBean, EnhancedAnnotatedField<T, ? super X> field) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(field, getManager()); DisposalMethod<X, ?> disposalMethod = resolveDisposalMethod(attributes, declaringBean); ProducerField<X, T> bean; if (EEResourceProducerField.isEEResourceProducerField(manager, field)) { if (field.isStatic()) { bean = StaticEEResourceProducerField.of(attributes, field, declaringBean, disposalMethod, manager, services); } else { bean = EEResourceProducerField.of(attributes, field, declaringBean, disposalMethod, manager, services); } } else { bean = ProducerField.of(attributes, field, declaringBean, disposalMethod, manager, services); } containerLifecycleEvents.preloadProcessBeanAttributes(bean.getType()); containerLifecycleEvents.preloadProcessBean(ProcessProducerField.class, field.getBaseType(), bean.getBeanClass()); containerLifecycleEvents.preloadProcessProducer(bean.getBeanClass(), field.getBaseType()); getEnvironment().addProducerField(bean); }
super(attributes, new StringBeanIdentifier(BeanIdentifiers.forProducerField(field, declaringBean)), declaringBean, manager, services); this.enhancedAnnotatedField = field; this.annotatedField = field.slim(); initType(); this.proxiable = Proxies.isTypesProxyable(field.getTypeClosure(), beanManager.getServices()); setProducer(new ProducerFieldProducer<X, T>(field, disposalMethod) {
private EEResourceCallable(BeanManagerImpl beanManager, ProducerField<?, T> producerField, CreationalContext<T> creationalContext, T instance) { super(beanManager); this.beanId = producerField.getIdentifier(); this.creationalContext = creationalContext; this.instance = instance; }
@Override public void internalInitialize(BeanDeployerEnvironment environment) { super.internalInitialize(environment); checkEEResource(); proxyFactory = new ProxyFactory<T>(getBeanManager().getContextId(), getType(), getTypes(), this); }
public AnnotatedField<T> getAnnotatedProducerField() { checkWithinObserverNotification(); if (getBean().getAnnotated() != null) { return cast(getBean().getAnnotated()); } else { return null; } } }
private ProcessProducerFieldImpl(BeanManagerImpl beanManager, ProducerField<T, X> bean) { super(beanManager, ProcessProducerField.class, new Type[]{bean.getAnnotated().getBaseType(), bean.getAnnotated().getDeclaringType().getBaseType()}, bean); }
@Override public String toString() { return "Producer Field [" + Formats.formatType(getAnnotated().getBaseType()) + "] with qualifiers [" + Formats.formatAnnotations(getQualifiers()) + "] declared as [" + getAnnotated() + "]"; }
protected <X, T> void createProducerField(AbstractClassBean<X> declaringBean, EnhancedAnnotatedField<T, ? super X> field) { BeanAttributes<T> attributes = BeanAttributesFactory.forBean(field, getManager()); DisposalMethod<X, ?> disposalMethod = resolveDisposalMethod(attributes, declaringBean); ProducerField<X, T> bean; if (EEResourceProducerField.isEEResourceProducerField(manager, field)) { if (field.isStatic()) { bean = StaticEEResourceProducerField.of(attributes, field, declaringBean, disposalMethod, manager, services); } else { bean = EEResourceProducerField.of(attributes, field, declaringBean, disposalMethod, manager, services); } } else { bean = ProducerField.of(attributes, field, declaringBean, disposalMethod, manager, services); } containerLifecycleEvents.preloadProcessBeanAttributes(bean.getType()); containerLifecycleEvents.preloadProcessBean(ProcessProducerField.class, field.getBaseType(), bean.getBeanClass()); containerLifecycleEvents.preloadProcessProducer(bean.getBeanClass(), field.getBaseType()); getEnvironment().addProducerField(bean); }