001
014
015 package com.liferay.portal.kernel.util;
016
017 import com.liferay.portal.kernel.bean.ClassLoaderBeanHandler;
018
019 import java.lang.reflect.Proxy;
020
021
024 public class ProxyFactory {
025
026 public static Object newInstance(
027 ClassLoader classLoader, Class<?> interfaceClass,
028 String implClassName)
029 throws Exception {
030
031 return newInstance(
032 classLoader, new Class[] {interfaceClass}, implClassName);
033 }
034
035 public static Object newInstance(
036 ClassLoader classLoader, Class<?>[] interfaceClasses,
037 String implClassName)
038 throws Exception {
039
040 Object instance = InstanceFactory.newInstance(
041 classLoader, implClassName);
042
043 return Proxy.newProxyInstance(
044 classLoader, interfaceClasses,
045 new ClassLoaderBeanHandler(instance, classLoader));
046 }
047
048 }