001
014
015 package com.liferay.portal.repository.util;
016
017 import com.liferay.portal.kernel.repository.BaseRepository;
018 import com.liferay.portal.kernel.util.InstanceFactory;
019 import com.liferay.portal.kernel.util.ProxyFactory;
020 import com.liferay.portal.repository.proxy.BaseRepositoryProxyBean;
021
022
025 public class RepositoryFactoryImpl implements RepositoryFactory {
026
027 public RepositoryFactoryImpl(String className) {
028 _className = className;
029 }
030
031 public RepositoryFactoryImpl(String className, ClassLoader classLoader) {
032 _classLoader = classLoader;
033 _className = className;
034 }
035
036 public BaseRepository getInstance() throws Exception {
037 if (_classLoader == null) {
038 return (BaseRepository)InstanceFactory.newInstance(_className);
039 }
040 else {
041 BaseRepository baseRepository =
042 (BaseRepository)ProxyFactory.newInstance(
043 _classLoader, BaseRepository.class, _className);
044
045 return new BaseRepositoryProxyBean(baseRepository, _classLoader);
046 }
047 }
048
049 private ClassLoader _classLoader;
050 private String _className;
051
052 }