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