Skip to content

Commit

Permalink
Use single instance of stateless transformers.
Browse files Browse the repository at this point in the history
  • Loading branch information
alesj authored and jharting committed Nov 22, 2011
1 parent d62107c commit cb2fd43
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 4 deletions.
Expand Up @@ -351,13 +351,12 @@ private BeanManagerImpl(
// Set up the structure to store accessible managers in
this.accessibleManagers = new HashSet<BeanManagerImpl>();


// TODO Currently we build the accessible bean list on the fly, we need to set it in stone once bootstrap is finished...
Transform<Bean<?>> beanTransform = new BeanTransform(this);
this.beanResolver = new TypeSafeBeanResolver<Bean<?>>(this, createDynamicAccessibleIterable(beanTransform));
this.decoratorResolver = new TypeSafeDecoratorResolver(this, createDynamicAccessibleIterable(new DecoratorTransform()));
this.interceptorResolver = new TypeSafeInterceptorResolver(this, createDynamicAccessibleIterable(new InterceptorTransform()));
this.observerResolver = new TypeSafeObserverResolver(this, createDynamicAccessibleIterable(new ObserverMethodTransform()));
this.decoratorResolver = new TypeSafeDecoratorResolver(this, createDynamicAccessibleIterable(DecoratorTransform.INSTANCE));
this.interceptorResolver = new TypeSafeInterceptorResolver(this, createDynamicAccessibleIterable(InterceptorTransform.INSTANCE));
this.observerResolver = new TypeSafeObserverResolver(this, createDynamicAccessibleIterable(ObserverMethodTransform.INSTANCE));
this.nameBasedResolver = new NameBasedResolver(this, createDynamicAccessibleIterable(beanTransform));
this.weldELResolver = new WeldELResolver(this);
this.childActivities = new CopyOnWriteArraySet<BeanManagerImpl>();
Expand Down
Expand Up @@ -19,6 +19,7 @@
import javax.enterprise.inject.spi.Decorator;

class DecoratorTransform implements Transform<Decorator<?>> {
static final DecoratorTransform INSTANCE = new DecoratorTransform();

public Iterable<Decorator<?>> transform(BeanManagerImpl beanManager) {
return beanManager.getDecorators();
Expand Down
Expand Up @@ -19,6 +19,7 @@
import javax.enterprise.inject.spi.Interceptor;

class InterceptorTransform implements Transform<Interceptor<?>> {
static final InterceptorTransform INSTANCE = new InterceptorTransform();

public Iterable<Interceptor<?>> transform(BeanManagerImpl beanManager) {
return beanManager.getInterceptors();
Expand Down
Expand Up @@ -19,6 +19,7 @@
import javax.enterprise.inject.spi.ObserverMethod;

class ObserverMethodTransform implements Transform<ObserverMethod<?>> {
static final ObserverMethodTransform INSTANCE = new ObserverMethodTransform();

public Iterable<ObserverMethod<?>> transform(BeanManagerImpl beanManager) {
return beanManager.getObservers();
Expand Down

0 comments on commit cb2fd43

Please sign in to comment.