001
014
015 package com.liferay.portal.security.auth;
016
017 import com.liferay.portal.kernel.log.Log;
018 import com.liferay.portal.kernel.log.LogFactoryUtil;
019 import com.liferay.portal.kernel.util.ClassUtil;
020 import com.liferay.portal.kernel.util.InstanceFactory;
021 import com.liferay.portal.util.ClassLoaderUtil;
022 import com.liferay.portal.util.PropsValues;
023
024
028 public class EmailAddressGeneratorFactory {
029
030 public static EmailAddressGenerator getInstance() {
031 return _emailAddressGenerator;
032 }
033
034 public static void setInstance(
035 EmailAddressGenerator emailAddressGenerator) {
036
037 if (_log.isDebugEnabled()) {
038 _log.debug("Set " + ClassUtil.getClassName(emailAddressGenerator));
039 }
040
041 if (emailAddressGenerator == null) {
042 _emailAddressGenerator = _originalEmailAddressGenerator;
043 }
044 else {
045 _emailAddressGenerator = emailAddressGenerator;
046 }
047 }
048
049 public void afterPropertiesSet() throws Exception {
050 if (_log.isDebugEnabled()) {
051 _log.debug(
052 "Instantiate " + PropsValues.USERS_EMAIL_ADDRESS_GENERATOR);
053 }
054
055 ClassLoader classLoader = ClassLoaderUtil.getPortalClassLoader();
056
057 _originalEmailAddressGenerator =
058 (EmailAddressGenerator)InstanceFactory.newInstance(
059 classLoader, PropsValues.USERS_EMAIL_ADDRESS_GENERATOR);
060
061 _emailAddressGenerator = _originalEmailAddressGenerator;
062 }
063
064 private static Log _log = LogFactoryUtil.getLog(
065 EmailAddressGeneratorFactory.class);
066
067 private static volatile EmailAddressGenerator _emailAddressGenerator;
068 private static EmailAddressGenerator _originalEmailAddressGenerator;
069
070 }