/** * Creates an EE resource producer field * * @param field The underlying method abstraction * @param declaringBean The declaring bean abstraction * @param manager the current manager * @return A producer field */ public static <X, T> EEResourceProducerField<X, T> of(BeanAttributes<T> attributes, EnhancedAnnotatedField<T, ? super X> field, AbstractClassBean<X> declaringBean, DisposalMethod<X, ?> disposalMethod, BeanManagerImpl manager, ServiceRegistry services) { return new EEResourceProducerField<X, T>(attributes, field, declaringBean, disposalMethod, manager, services); }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }
@Override public void internalInitialize(BeanDeployerEnvironment environment) { super.internalInitialize(environment); checkEEResource(); proxyFactory = new ProxyFactory<T>(getBeanManager().getContextId(), getType(), getTypes(), this); }
protected void checkEEResource() { if (!getScope().equals(Dependent.class)) { throw BeanLogger.LOG.nonDependentResourceProducerField(this); } if (getName() != null) { throw BeanLogger.LOG.namedResourceProducerField(this); } if (!isEEResourceProducerField(beanManager, getAnnotated())) { throw BeanLogger.LOG.invalidResourceProducerField(getAnnotated()); } }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }
@Override public void internalInitialize(BeanDeployerEnvironment environment) { super.internalInitialize(environment); checkEEResource(); proxyFactory = new ProxyFactory<T>(getBeanManager().getContextId(), getType(), getTypes(), this); }
protected void checkEEResource() { if (!getScope().equals(Dependent.class)) { throw BeanLogger.LOG.nonDependentResourceProducerField(this); } if (getName() != null) { throw BeanLogger.LOG.namedResourceProducerField(this); } if (!isEEResourceProducerField(beanManager, getAnnotated())) { throw BeanLogger.LOG.invalidResourceProducerField(getAnnotated()); } }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }
@Override public void internalInitialize(BeanDeployerEnvironment environment) { super.internalInitialize(environment); checkEEResource(); proxyFactory = new ProxyFactory<T>(getBeanManager().getContextId(), getType(), getTypes(), this); }
protected void checkEEResource() { if (!getScope().equals(Dependent.class)) { throw BeanLogger.LOG.nonDependentResourceProducerField(this); } if (getName() != null) { throw BeanLogger.LOG.namedResourceProducerField(this); } if (!isEEResourceProducerField(beanManager, getAnnotated())) { throw BeanLogger.LOG.invalidResourceProducerField(getAnnotated()); } }
/** * Creates an EE resource producer field * * @param field The underlying method abstraction * @param declaringBean The declaring bean abstraction * @param manager the current manager * @return A producer field */ public static <X, T> EEResourceProducerField<X, T> of(BeanAttributes<T> attributes, EnhancedAnnotatedField<T, ? super X> field, AbstractClassBean<X> declaringBean, DisposalMethod<X, ?> disposalMethod, BeanManagerImpl manager, ServiceRegistry services) { return new EEResourceProducerField<X, T>(attributes, field, declaringBean, disposalMethod, manager, services); }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }
@Override public void internalInitialize(BeanDeployerEnvironment environment) { super.internalInitialize(environment); checkEEResource(); proxyFactory = new ProxyFactory<T>(getBeanManager().getContextId(), getType(), getTypes(), this); }
protected void checkEEResource() { if (!getScope().equals(Dependent.class)) { throw BeanLogger.LOG.nonDependentResourceProducerField(this); } if (getName() != null) { throw BeanLogger.LOG.namedResourceProducerField(this); } if (!isEEResourceProducerField(beanManager, getAnnotated())) { throw BeanLogger.LOG.invalidResourceProducerField(getAnnotated()); } }
/** * Creates an EE resource producer field * * @param field The underlying method abstraction * @param declaringBean The declaring bean abstraction * @param manager the current manager * @return A producer field */ public static <X, T> EEResourceProducerField<X, T> of(BeanAttributes<T> attributes, EnhancedAnnotatedField<T, ? super X> field, AbstractClassBean<X> declaringBean, DisposalMethod<X, ?> disposalMethod, BeanManagerImpl manager, ServiceRegistry services) { return new EEResourceProducerField<X, T>(attributes, field, declaringBean, disposalMethod, manager, services); }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }
@Override public void internalInitialize(BeanDeployerEnvironment environment) { super.internalInitialize(environment); checkEEResource(); proxyFactory = new ProxyFactory<T>(getBeanManager().getContextId(), getType(), getTypes(), this); }
protected void checkEEResource() { if (!getScope().equals(Dependent.class)) { throw BeanLogger.LOG.nonDependentResourceProducerField(this); } if (getName() != null) { throw BeanLogger.LOG.namedResourceProducerField(this); } if (!isEEResourceProducerField(beanManager, getAnnotated())) { throw BeanLogger.LOG.invalidResourceProducerField(getAnnotated()); } }
/** * Creates an EE resource producer field * * @param field The underlying method abstraction * @param declaringBean The declaring bean abstraction * @param manager the current manager * @return A producer field */ public static <X, T> EEResourceProducerField<X, T> of(BeanAttributes<T> attributes, EnhancedAnnotatedField<T, ? super X> field, AbstractClassBean<X> declaringBean, DisposalMethod<X, ?> disposalMethod, BeanManagerImpl manager, ServiceRegistry services) { return new EEResourceProducerField<X, T>(attributes, field, declaringBean, disposalMethod, manager, services); }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }