no.sesat.search.query.parser
Class WordClauseImpl

java.lang.Object
  extended by no.sesat.search.query.parser.AbstractClause
      extended by no.sesat.search.query.parser.AbstractLeafClause
          extended by no.sesat.search.query.parser.WordClauseImpl
All Implemented Interfaces:
Serializable, no.sesat.commons.visitor.Visitable, Clause, LeafClause, WordClause

public final class WordClauseImpl
extends AbstractLeafClause
implements WordClause

Represent a word in the query. May contain the optional field (field:word). May contain both character and digits but cannot contain only digits (a IntegerClause will be used instead then).

Version:
$Id: WordClauseImpl.java 7225 2009-04-09 00:32:20Z ssmiweve $
See Also:
Serialized Form

Field Summary
 
Fields inherited from class no.sesat.search.query.parser.AbstractLeafClause
field
 
Fields inherited from class no.sesat.search.query.parser.AbstractClause
DFAULT_REFERENCE_MAP_TYPE, ERR_FAILED_FINDING_OR_USING_CONSTRUCTOR, ERR_MUST_ALWAYS_USE_ARGED_CONSTRUCTOR
 
Constructor Summary
protected WordClauseImpl(String term, String field, Set<TokenPredicate> knownPredicates, Set<TokenPredicate> possiblePredicates)
          Create clause with the given term, known and possible predicates.
 
Method Summary
static WordClauseImpl createWordClause(String term, String field, TokenEvaluationEngine predicate2evaluatorFactory)
          Creator method for WordClauseImpl objects.
 
Methods inherited from class no.sesat.search.query.parser.AbstractLeafClause
createClause, getField, toString
 
Methods inherited from class no.sesat.search.query.parser.AbstractClause
accept, addClauseInUse, findClauseInUse, findPredicates, getKnownPredicates, getPossiblePredicates, getTerm, hashCode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface no.sesat.search.query.WordClause
getField
 
Methods inherited from interface no.sesat.search.query.Clause
getKnownPredicates, getPossiblePredicates, getTerm
 
Methods inherited from interface no.sesat.commons.visitor.Visitable
accept
 

Constructor Detail

WordClauseImpl

protected WordClauseImpl(String term,
                         String field,
                         Set<TokenPredicate> knownPredicates,
                         Set<TokenPredicate> possiblePredicates)
Create clause with the given term, known and possible predicates.

Parameters:
term - the term (query string) for this clause.
field - the field for this clause. May be null.
knownPredicates - the set of known predicates for this clause.
possiblePredicates - the set of possible predicates for this clause.
Method Detail

createWordClause

public static WordClauseImpl createWordClause(String term,
                                              String field,
                                              TokenEvaluationEngine predicate2evaluatorFactory)
Creator method for WordClauseImpl objects. By avoiding the constructors, and assuming all WordClauseImpl objects are immutable, we can keep track (via a weak reference map) of instances already in use in this JVM and reuse them. The methods also allow a chunk of creation logic for the WordClauseImpl to be moved out of the QueryParserImpl.jj file to here.

Parameters:
term - the term this clause represents.
field - any field this clause was specified against.
predicate2evaluatorFactory - the factory handing out evaluators against TokenPredicates. Also holds state information about the current term/clause we are finding predicates against.
Returns:
returns a WordClauseImpl instance matching the term, left and right child clauses. May be either newly created or reused.


Copyright © 2005-2009 Schibsted ASA. All Rights Reserved.