001
014
015 package com.liferay.portal.util;
016
017 import com.liferay.portal.kernel.log.Log;
018 import com.liferay.portal.kernel.log.LogFactoryUtil;
019 import com.liferay.portal.kernel.util.Validator;
020
021
024 public class LayoutCloneFactory {
025
026 public static LayoutClone getInstance() {
027 if (_layoutClone == null) {
028 if (Validator.isNotNull(PropsValues.LAYOUT_CLONE_IMPL)) {
029 if (_log.isDebugEnabled()) {
030 _log.debug("Instantiate " + PropsValues.LAYOUT_CLONE_IMPL);
031 }
032
033 ClassLoader classLoader =
034 ClassLoaderUtil.getPortalClassLoader();
035
036 try {
037 Class<?> clazz = classLoader.loadClass(
038 PropsValues.LAYOUT_CLONE_IMPL);
039
040 _layoutClone = (LayoutClone)clazz.newInstance();
041 }
042 catch (Exception e) {
043 _log.error(e, e);
044 }
045 }
046 }
047 else {
048 if (_log.isDebugEnabled()) {
049 _log.debug("Return " + _layoutClone.getClass().getName());
050 }
051 }
052
053 return _layoutClone;
054 }
055
056 private static Log _log = LogFactoryUtil.getLog(LayoutCloneFactory.class);
057
058 private static LayoutClone _layoutClone;
059
060 }