Skip to content

Commit

Permalink
Start implementing TCK api
Browse files Browse the repository at this point in the history
git-svn-id: http://anonsvn.jboss.org/repos/weld/ri/trunk@856 1c488680-804c-0410-94cd-c6b725194a0e
  • Loading branch information
pmuir committed Jan 9, 2009
1 parent 01094ef commit d870266
Showing 1 changed file with 39 additions and 0 deletions.
@@ -0,0 +1,39 @@
package org.jboss.webbeans.tck.impl;

import java.lang.reflect.Method;

import javax.webbeans.manager.Bean;

import org.jboss.webbeans.CurrentManager;
import org.jboss.webbeans.bean.AbstractClassBean;
import org.jboss.webbeans.bean.EnterpriseBean;
import org.jboss.webbeans.bean.ProducerMethodBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.tck.api.Beans;

public class BeansImpl implements Beans
{

public <T> Bean<T> createSimpleBean(Class<T> clazz)
{
return SimpleBean.of(clazz, CurrentManager.rootManager());
}

public <T> Bean<T> createProducerMethodBean(Method method, Bean<T> declaringBean)
{
if (declaringBean instanceof AbstractClassBean)
{
return ProducerMethodBean.of(method, (AbstractClassBean<?>) declaringBean, CurrentManager.rootManager());
}
else
{
throw new IllegalStateException("Cannot create a producer method from a bean that wasn't created by the RI " + declaringBean);
}
}

public <T> Bean<T> createEnterpriseBean(Class<T> clazz)
{
return EnterpriseBean.of(clazz, CurrentManager.rootManager());
}

}

0 comments on commit d870266

Please sign in to comment.