protected ProducerMethod(BeanIdentifier identifier, BeanAttributes<T> attributes, EnhancedAnnotatedMethod<T, ? super X> method, AbstractClassBean<X> declaringBean, DisposalMethod<X, ?> disposalMethod, BeanManagerImpl beanManager, ServiceRegistry services) { super(attributes, identifier, declaringBean, beanManager, services); this.enhancedAnnotatedMethod = method; this.annotatedMethod = method.slim(); initType(); this.proxiable = Proxies.isTypesProxyable(method.getTypeClosure(), beanManager.getServices()); setProducer(new ProducerMethodProducer<X, T>(method, disposalMethod) { @Override public BeanManagerImpl getBeanManager() { return ProducerMethod.this.beanManager; } @Override public Bean<X> getDeclaringBean() { return ProducerMethod.this.getDeclaringBean(); } @Override public Bean<T> getBean() { return ProducerMethod.this; } }); }
protected ProducerMethod(BeanIdentifier identifier, BeanAttributes<T> attributes, EnhancedAnnotatedMethod<T, ? super X> method, AbstractClassBean<X> declaringBean, DisposalMethod<X, ?> disposalMethod, BeanManagerImpl beanManager, ServiceRegistry services) { super(attributes, identifier, declaringBean, beanManager, services); this.enhancedAnnotatedMethod = method; this.annotatedMethod = method.slim(); initType(); this.proxiable = Proxies.isTypesProxyable(method.getTypeClosure(), beanManager.getServices()); setProducer(new ProducerMethodProducer<X, T>(method, disposalMethod) { @Override public BeanManagerImpl getBeanManager() { return ProducerMethod.this.beanManager; } @Override public Bean<X> getDeclaringBean() { return ProducerMethod.this.getDeclaringBean(); } @Override public Bean<T> getBean() { return ProducerMethod.this; } }); }
protected ProducerMethod(BeanIdentifier identifier, BeanAttributes<T> attributes, EnhancedAnnotatedMethod<T, ? super X> method, AbstractClassBean<X> declaringBean, DisposalMethod<X, ?> disposalMethod, BeanManagerImpl beanManager, ServiceRegistry services) { super(attributes, identifier, declaringBean, beanManager, services); this.enhancedAnnotatedMethod = method; this.annotatedMethod = method.slim(); initType(); this.proxiable = Proxies.isTypesProxyable(method.getTypeClosure(), beanManager.getServices()); setProducer(new ProducerMethodProducer<X, T>(method, disposalMethod) { @Override public BeanManagerImpl getBeanManager() { return ProducerMethod.this.beanManager; } @Override public Bean<X> getDeclaringBean() { return ProducerMethod.this.getDeclaringBean(); } @Override public Bean<T> getBean() { return ProducerMethod.this; } }); }
protected ProducerMethod(BeanIdentifier identifier, BeanAttributes<T> attributes, EnhancedAnnotatedMethod<T, ? super X> method, AbstractClassBean<X> declaringBean, DisposalMethod<X, ?> disposalMethod, BeanManagerImpl beanManager, ServiceRegistry services) { super(attributes, identifier, declaringBean, beanManager, services); this.enhancedAnnotatedMethod = method; this.annotatedMethod = method.slim(); initType(); this.proxiable = Proxies.isTypesProxyable(method.getTypeClosure(), beanManager.getServices()); setProducer(new ProducerMethodProducer<X, T>(method, disposalMethod) { @Override public BeanManagerImpl getBeanManager() { return ProducerMethod.this.beanManager; } @Override public Bean<X> getDeclaringBean() { return ProducerMethod.this.getDeclaringBean(); } @Override public Bean<T> getBean() { return ProducerMethod.this; } }); }
protected ProducerMethod(BeanIdentifier identifier, BeanAttributes<T> attributes, EnhancedAnnotatedMethod<T, ? super X> method, AbstractClassBean<X> declaringBean, DisposalMethod<X, ?> disposalMethod, BeanManagerImpl beanManager, ServiceRegistry services) { super(attributes, identifier, declaringBean, beanManager, services); this.enhancedAnnotatedMethod = method; this.annotatedMethod = method.slim(); initType(); this.proxiable = Proxies.isTypesProxyable(method.getTypeClosure(), beanManager.getServices()); setProducer(new ProducerMethodProducer<X, T>(method, disposalMethod) { @Override public BeanManagerImpl getBeanManager() { return ProducerMethod.this.beanManager; } @Override public Bean<X> getDeclaringBean() { return ProducerMethod.this.getDeclaringBean(); } @Override public Bean<T> getBean() { return ProducerMethod.this; } }); }
protected ProducerMethod(BeanIdentifier identifier, BeanAttributes<T> attributes, EnhancedAnnotatedMethod<T, ? super X> method, AbstractClassBean<X> declaringBean, DisposalMethod<X, ?> disposalMethod, BeanManagerImpl beanManager, ServiceRegistry services) { super(attributes, identifier, declaringBean, beanManager, services); this.enhancedAnnotatedMethod = method; this.annotatedMethod = method.slim(); initType(); this.proxiable = Proxies.isTypesProxyable(method.getTypeClosure(), beanManager.getServices()); setProducer(new ProducerMethodProducer<X, T>(method, disposalMethod) { @Override public BeanManagerImpl getBeanManager() { return ProducerMethod.this.beanManager; } @Override public Bean<X> getDeclaringBean() { return ProducerMethod.this.getDeclaringBean(); } @Override public Bean<T> getBean() { return ProducerMethod.this; } }); }