/* Copyright (2005-2012) Schibsted ASA * This file is part of Possom. * * Possom 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 3 of the License, or * (at your option) any later version. * * Possom 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. * * You should have received a copy of the GNU Lesser General Public License * along with Possom. If not, see <http://www.gnu.org/licenses/>. * * AbstractQueryParserContext.java * * Created on 12 January 2006, 12:06 * */ package no.sesat.search.query.parser; import no.sesat.search.query.AndClause; import no.sesat.search.query.AndNotClause; import no.sesat.search.query.Clause; import no.sesat.search.query.DefaultOperatorClause; import no.sesat.search.query.EmailClause; import no.sesat.search.query.IntegerClause; import no.sesat.search.query.NotClause; import no.sesat.search.query.OrClause; import no.sesat.search.query.NumberGroupClause; import no.sesat.search.query.PhoneNumberClause; import no.sesat.search.query.PhraseClause; import no.sesat.search.query.UrlClause; import no.sesat.search.query.WordClause; import no.sesat.search.query.XorClause; import org.apache.log4j.Logger; /** Default implementation of QueryParser.Context's createXxxClause methods. * * @version $Id$ * */ public abstract class AbstractQueryParserContext implements AbstractQueryParser.Context { private static final Logger LOG = Logger.getLogger(AbstractQueryParserContext.class); /** Creates a new instance of AbstractQueryParserContext. */ public AbstractQueryParserContext() { } /** {@inheritDoc} */ public final String getQueryString() { return getTokenEvaluationEngine().getQueryString(); } //// Operator creators /** {@inheritDoc} */ public DefaultOperatorClause createDefaultOperatorClause(final Clause first, final Clause second){ LOG.debug("createDefaultOperatorClause(" + first + "," + second + ")"); return DefaultOperatorClauseImpl.createDefaultOperatorClause(first, second, getTokenEvaluationEngine()); } /** {@inheritDoc} */ public final AndClause createAndClause( final Clause first, final Clause second) { LOG.debug("createAndClause(" + first + "," + second + ")"); return AndClauseImpl.createAndClause(first, second, getTokenEvaluationEngine()); } /** {@inheritDoc} */ public final OrClause createOrClause( final Clause first, final Clause second) { LOG.debug("createOrClause(" + first + "," + second + ")"); return OrClauseImpl.createOrClause(first, second, getTokenEvaluationEngine()); } /** {@inheritDoc} */ public final XorClause createXorClause( final Clause first, final Clause second, final XorClause.Hint hint) { LOG.debug("createXorClause(" + first + "," + second + "," + hint + ")"); return XorClauseImpl.createXorClause(first, second, hint, getTokenEvaluationEngine()); } /** {@inheritDoc} */ public final AndNotClause createAndNotClause( final Clause first) { LOG.debug("createAndNotClause(" + first + ")"); return AndNotClauseImpl.createAndNotClause(first, getTokenEvaluationEngine()); } /** {@inheritDoc} */ public final NotClause createNotClause( final Clause first) { LOG.debug("createNotClause(" + first + ")"); return NotClauseImpl.createNotClause(first, getTokenEvaluationEngine()); } //// Leaf creators /** {@inheritDoc} */ public final WordClause createWordClause( final String term, final String field) { LOG.debug("createWordClause(" + term + "," + field + ")"); return WordClauseImpl.createWordClause(term, field, getTokenEvaluationEngine()); } /** {@inheritDoc} */ public final PhraseClause createPhraseClause( final String term, final String field) { LOG.debug("createPhraseClause(" + term + "," + field + ")"); return PhraseClauseImpl.createPhraseClause(term, field, getTokenEvaluationEngine()); } /** {@inheritDoc} */ public final IntegerClause createIntegerClause( final String term, final String field) { LOG.debug("createIntegerClause(" + term + "," + field + ")"); return IntegerClauseImpl.createIntegerClause(term, field, getTokenEvaluationEngine()); } /** {@inheritDoc} */ public final PhoneNumberClause createPhoneNumberClause( final String term, final String field) { LOG.debug("createPhoneNumberClause(" + term + "," + field + ")"); return PhoneNumberClauseImpl.createPhoneNumberClause(term, field, getTokenEvaluationEngine()); } /** {@inheritDoc} */ public final NumberGroupClause createNumberGroupClause( final String term, final String field) { LOG.debug("createNumberGroupClause(" + term + "," + field + ")"); return NumberGroupClauseImpl.createNumberGroupClause(term, field, getTokenEvaluationEngine()); } /** {@inheritDoc} */ public final UrlClause createUrlClause(final String term, final String field){ LOG.debug("createUrlClause(" + term + "," + field + ")"); return UrlClauseImpl.createUrlClause(term, field, getTokenEvaluationEngine()); } /** {@inheritDoc} */ public final EmailClause createEmailClause(final String term, final String field){ LOG.debug("createEmailClause(" + term + "," + field + ")"); return EmailClauseImpl.createEmailClause(term, field, getTokenEvaluationEngine()); } }