/* * This library is part of OpenCms - * the Open Source Content Management System * * Copyright (c) Alkacon Software GmbH (http://www.alkacon.com) * * 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. * * For further information about Alkacon Software GmbH, please see the * company website: http://www.alkacon.com * * For further information about OpenCms, please see the * project website: http://www.opencms.org * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.opencms.search; import org.opencms.i18n.CmsLocaleManager; import java.util.Locale; /** * An analyzer class is used by Lucene to reduce the content to be indexed * with trimmed endings etc.<p> * * @since 6.0.0 */ public class CmsSearchAnalyzer { /** The class name of the analyzer. */ private String m_className; /** A locale as a key to select the analyzer. */ private Locale m_locale; /** The stemmer algorithm to be used (only for the deprecated SnowBall analyzer). */ private String m_stemmerAlgorithm; /** * Returns the className.<p> * * @return the className */ public String getClassName() { return m_className; } /** * Returns the locale.<p> * * @return the locale */ public Locale getLocale() { return m_locale; } /** * Returns the locale as a String.<p> * * @return the locale as a String * * @see #getLocale() */ public String getLocaleString() { return getLocale().toString(); } /** * Returns the stemmer algorithm.<p> * * This is required only for the SnowBall analyzer, which is deprecated in Lucene and should not longer be * used since all languages have special analyzers now.<p> * * @return the stemmer algorithm */ public String getStemmerAlgorithm() { return m_stemmerAlgorithm; } /** * Sets the class name.<p> * * @param className the class name */ public void setClassName(String className) { m_className = className; } /** * Sets the locale.<p> * * @param locale the locale */ public void setLocale(Locale locale) { m_locale = locale; } /** * Sets the locale as a String.<p> * * @param locale the locale * * @see #setLocale(Locale) */ public void setLocaleString(String locale) { setLocale(CmsLocaleManager.getLocale(locale)); } /** * Sets the stemmer algorithm.<p> * * This is required only for the SnowBall analyzer, which is deprecated in Lucene and should not longer be * used since all languages have special analyzers now.<p> * * @param stemmerAlgorithm the stemmer algorithm */ public void setStemmerAlgorithm(String stemmerAlgorithm) { m_stemmerAlgorithm = stemmerAlgorithm; } }