001
014
015 package com.liferay.portal.kernel.search.analysis;
016
017 import com.liferay.portal.kernel.search.SearchException;
018 import com.liferay.registry.Registry;
019 import com.liferay.registry.RegistryUtil;
020 import com.liferay.registry.ServiceTracker;
021
022 import java.util.List;
023
024
027 public class TokenizerUtil {
028
029 public static Tokenizer getTokenizer() {
030 Tokenizer tokenizer = _instance._serviceTracker.getService();
031
032 if (tokenizer == null) {
033 tokenizer = _defaultTokenizer;
034 }
035
036 return tokenizer;
037 }
038
039 public static List<String> tokenize(
040 String fieldName, String input, String languageId)
041 throws SearchException {
042
043 return getTokenizer().tokenize(fieldName, input, languageId);
044 }
045
046 private TokenizerUtil() {
047 Registry registry = RegistryUtil.getRegistry();
048
049 _serviceTracker = registry.trackServices(Tokenizer.class);
050 }
051
052 private static final TokenizerUtil _instance = new TokenizerUtil();
053
054 private static final Tokenizer _defaultTokenizer = new SimpleTokenizer();
055
056 private final ServiceTracker<Tokenizer, Tokenizer> _serviceTracker;
057
058 }