/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.portal.kernel.search.suggest; import com.liferay.portal.kernel.util.Validator; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.regex.Pattern; /** * @author Josef Sustacek */ public class KeywordsSuggestionHolder { public KeywordsSuggestionHolder( String suggestedKeywords, String originalKeywords) { this(suggestedKeywords, originalKeywords, _KEYWORDS_DELIMETER_REGEXP); } public KeywordsSuggestionHolder( String suggestedKeywords, String originalKeywords, String keywordsDelimiterRegexp) { Pattern keywordsDelimiterRegexpPattern = Pattern.compile( keywordsDelimiterRegexp); if (Validator.isNull(suggestedKeywords)) { _suggestedKeywords = Collections.emptyList(); } else { _suggestedKeywords = Arrays.asList( keywordsDelimiterRegexpPattern.split(suggestedKeywords)); } if (Validator.isNull(originalKeywords)) { _originalKeywords = Collections.emptyList(); } else { _originalKeywords = Arrays.asList( keywordsDelimiterRegexpPattern.split(originalKeywords)); } } public List<String> getSuggestedKeywords() { return _suggestedKeywords; } public boolean hasChanged(String suggestedKeyword) { return !_originalKeywords.contains(suggestedKeyword); } private static final String _KEYWORDS_DELIMETER_REGEXP = "[ ]+"; private final List<String> _originalKeywords; private final List<String> _suggestedKeywords; }