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 EmailAddressValidatorFactory {
029
030 public static EmailAddressValidator getInstance() {
031 return _emailAddressValidator;
032 }
033
034 public static void setInstance(
035 EmailAddressValidator emailAddressValidator) {
036
037 if (_log.isDebugEnabled()) {
038 _log.debug("Set " + ClassUtil.getClassName(emailAddressValidator));
039 }
040
041 if (emailAddressValidator == null) {
042 _emailAddressValidator = _originalEmailAddressValidator;
043 }
044 else {
045 _emailAddressValidator = emailAddressValidator;
046 }
047 }
048
049 public void afterPropertiesSet() throws Exception {
050 if (_log.isDebugEnabled()) {
051 _log.debug(
052 "Instantiate " + PropsValues.USERS_EMAIL_ADDRESS_VALIDATOR);
053 }
054
055 ClassLoader classLoader = ClassLoaderUtil.getPortalClassLoader();
056
057 _originalEmailAddressValidator =
058 (EmailAddressValidator)InstanceFactory.newInstance(
059 classLoader, PropsValues.USERS_EMAIL_ADDRESS_VALIDATOR);
060
061 _emailAddressValidator = _originalEmailAddressValidator;
062 }
063
064 private static Log _log = LogFactoryUtil.getLog(
065 EmailAddressValidatorFactory.class);
066
067 private static volatile EmailAddressValidator _emailAddressValidator;
068 private static EmailAddressValidator _originalEmailAddressValidator;
069
070 }