001
014
015 package com.liferay.mail.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.PortalClassLoaderUtil;
020 import com.liferay.portal.util.PropsValues;
021
022
025 public class HookFactory {
026
027 public static Hook getInstance() {
028 if (_hook == null) {
029 if (_log.isDebugEnabled()) {
030 _log.debug("Instantiate " + PropsValues.MAIL_HOOK_IMPL);
031 }
032
033 ClassLoader classLoader = PortalClassLoaderUtil.getClassLoader();
034
035 try {
036 _hook = (Hook)classLoader.loadClass(
037 PropsValues.MAIL_HOOK_IMPL).newInstance();
038 }
039 catch (Exception e) {
040 _log.error(e, e);
041 }
042 }
043
044 if (_log.isDebugEnabled()) {
045 _log.debug("Return " + _hook.getClass().getName());
046 }
047
048 return _hook;
049 }
050
051 public static void setInstance(Hook hook) {
052 if (_log.isDebugEnabled()) {
053 _log.debug("Set " + hook.getClass().getName());
054 }
055
056 _hook = hook;
057 }
058
059 private static Log _log = LogFactoryUtil.getLog(HookFactory.class);
060
061 private static Hook _hook;
062
063 }