Skip to content

Commit

Permalink
move map into NormalContext
Browse files Browse the repository at this point in the history
git-svn-id: http://anonsvn.jboss.org/repos/weld/ri/trunk@195 1c488680-804c-0410-94cd-c6b725194a0e
  • Loading branch information
pmuir committed Oct 28, 2008
1 parent f4fa6c0 commit 0e5fe0a
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 19 deletions.
Expand Up @@ -36,14 +36,13 @@ public <T extends Object> T get(Bean<? extends T> key)

}

protected BeanMap beans;
private Class<? extends Annotation> scopeType;
protected boolean active;

public AbstractContext(Class<? extends Annotation> scopeType)
{
this.scopeType = scopeType;
beans = new BeanMap();

}

public abstract <T> T get(Bean<T> bean, boolean create);
Expand All @@ -53,19 +52,7 @@ public Class<? extends Annotation> getScopeType()
return scopeType;
}

private <T> void destroy(Manager manager, Bean<T> bean)
{
bean.destroy(beans.get(bean));
}

public void destroy(Manager manager)
{
for (Bean<? extends Object> bean : beans.keySet())
{
destroy(manager, bean);
}
beans = null;
}
public abstract void destroy(Manager manager);

public boolean isActive()
{
Expand Down
@@ -1,15 +1,14 @@
package org.jboss.webbeans.contexts;

import java.lang.annotation.Annotation;

import javax.webbeans.ContextNotActiveException;
import javax.webbeans.Dependent;
import javax.webbeans.manager.Bean;
import javax.webbeans.manager.Manager;

public class DependentContext extends AbstractContext
{

public DependentContext(Class<? extends Annotation> scopeType)
public DependentContext()
{
super(Dependent.class);
active = false;
Expand All @@ -31,4 +30,11 @@ public String toString()
{
return "Dependent context";
}

@Override
public void destroy(Manager manager)
{

}

}
Expand Up @@ -4,13 +4,17 @@

import javax.webbeans.ContextNotActiveException;
import javax.webbeans.manager.Bean;
import javax.webbeans.manager.Manager;

public abstract class NormalContext extends AbstractContext
{

private BeanMap beans;

public NormalContext(Class<? extends Annotation> scopeType)
{
super(scopeType);
beans = new BeanMap();
active = true;
}

Expand Down Expand Up @@ -45,6 +49,20 @@ public <T> T get(Bean<T> bean, boolean create)

beans.put(bean, instance);
return instance;
}
}

private <T> void destroy(Manager manager, Bean<T> bean)
{
bean.destroy(beans.get(bean));
}

public void destroy(Manager manager)
{
for (Bean<? extends Object> bean : beans.keySet())
{
destroy(manager, bean);
}
beans = null;
}

}

0 comments on commit 0e5fe0a

Please sign in to comment.