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 @Override
037 public BaseRepository getInstance() throws Exception {
038 if (_classLoader == null) {
039 return (BaseRepository)InstanceFactory.newInstance(_className);
040 }
041 else {
042 BaseRepository baseRepository =
043 (BaseRepository)ProxyFactory.newInstance(
044 _classLoader, BaseRepository.class, _className);
045
046 return new BaseRepositoryProxyBean(baseRepository, _classLoader);
047 }
048 }
049
050 private ClassLoader _classLoader;
051 private String _className;
052
053 }