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.security.pacl.PACLClassLoaderUtil;
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 =
034 PACLClassLoaderUtil.getPortalClassLoader();
035
036 try {
037 _hook = (Hook)classLoader.loadClass(
038 PropsValues.MAIL_HOOK_IMPL).newInstance();
039 }
040 catch (Exception e) {
041 _log.error(e, e);
042 }
043 }
044
045 if (_log.isDebugEnabled()) {
046 _log.debug("Return " + _hook.getClass().getName());
047 }
048
049 return _hook;
050 }
051
052 public static void setInstance(Hook hook) {
053 if (_log.isDebugEnabled()) {
054 _log.debug("Set " + hook.getClass().getName());
055 }
056
057 _hook = hook;
058 }
059
060 private static Log _log = LogFactoryUtil.getLog(HookFactory.class);
061
062 private static Hook _hook;
063
064 }