package org.ireland.jnetty.beans;
import java.lang.reflect.InvocationTargetException;
import javax.naming.NamingException;
import org.apache.tomcat.InstanceManager;
public class BeanFactory implements InstanceManager
{
final ClassLoader _classLoader;
public BeanFactory(ClassLoader classLoader)
{
super();
this._classLoader = classLoader;
}
/**
* Creates an object, but does not register the component with webbeans.
*/
public <T> T createBean(Class<T> type)
{
T instance = null;
try
{
instance = type.newInstance();
}
catch (InstantiationException e)
{
e.printStackTrace();
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
return instance;
}
@Override
public Object newInstance(String className) throws IllegalAccessException, InvocationTargetException, NamingException, InstantiationException,ClassNotFoundException
{
return newInstance(className, _classLoader);
}
@Override
public Object newInstance(String className, ClassLoader classLoader) throws IllegalAccessException, InvocationTargetException, NamingException,
InstantiationException, ClassNotFoundException
{
return Class.forName(className, false, classLoader).newInstance();
}
@Override
public void newInstance(Object o) throws IllegalAccessException, InvocationTargetException, NamingException
{
}
@Override
public void destroyInstance(Object o) throws IllegalAccessException, InvocationTargetException
{
}
}