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