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 _layoutClone = (LayoutClone)classLoader.loadClass(
038 PropsValues.LAYOUT_CLONE_IMPL).newInstance();
039 }
040 catch (Exception e) {
041 _log.error(e, e);
042 }
043 }
044 }
045 else {
046 if (_log.isDebugEnabled()) {
047 _log.debug("Return " + _layoutClone.getClass().getName());
048 }
049 }
050
051 return _layoutClone;
052 }
053
054 private static Log _log = LogFactoryUtil.getLog(LayoutCloneFactory.class);
055
056 private static LayoutClone _layoutClone;
057
058 }