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