org.apache.lucene.queryParser.standard.processors
Class ParametricRangeQueryNodeProcessor

java.lang.Object
  extended by org.apache.lucene.queryParser.core.processors.QueryNodeProcessorImpl
      extended by org.apache.lucene.queryParser.standard.processors.ParametricRangeQueryNodeProcessor
All Implemented Interfaces:
QueryNodeProcessor

public class ParametricRangeQueryNodeProcessor
extends QueryNodeProcessorImpl

This processor converts ParametricRangeQueryNode objects to RangeQueryNode objects. It reads the lower and upper bounds value from the ParametricRangeQueryNode object and try to parse their values using a DateFormat. If the values cannot be parsed to a date value, it will only create the RangeQueryNode using the non-parsed values.

If a LocaleAttribute is defined in the QueryConfigHandler it will be used to parse the date, otherwise Locale.getDefault() will be used.

If a DateResolutionAttribute is defined and the DateTools.Resolution is not null it will also be used to parse the date value.

This processor will also try to retrieve a RangeCollatorAttribute from the QueryConfigHandler. If a RangeCollatorAttribute is found and the Collator is not null, it's set on the RangeQueryNode.

See Also:
RangeCollatorAttribute, DateResolutionAttribute, LocaleAttribute, RangeQueryNode, ParametricRangeQueryNode

Constructor Summary
ParametricRangeQueryNodeProcessor()
           
 
Method Summary
protected  QueryNode postProcessNode(QueryNode node)
          This method is invoked for every node when walking up the tree.
protected  QueryNode preProcessNode(QueryNode node)
          This method is invoked for every node when walking down the tree.
protected  List<QueryNode> setChildrenOrder(List<QueryNode> children)
          This method is invoked for every node that has at least on child.
 
Methods inherited from class org.apache.lucene.queryParser.core.processors.QueryNodeProcessorImpl
getQueryConfigHandler, process, processChildren, setQueryConfigHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ParametricRangeQueryNodeProcessor

public ParametricRangeQueryNodeProcessor()
Method Detail

postProcessNode

protected QueryNode postProcessNode(QueryNode node)
                             throws QueryNodeException
Description copied from class: QueryNodeProcessorImpl
This method is invoked for every node when walking up the tree.

Specified by:
postProcessNode in class QueryNodeProcessorImpl
Parameters:
node - node the query node to be post-processed
Returns:
a query node
Throws:
QueryNodeException - if something goes wrong during the query node processing

preProcessNode

protected QueryNode preProcessNode(QueryNode node)
                            throws QueryNodeException
Description copied from class: QueryNodeProcessorImpl
This method is invoked for every node when walking down the tree.

Specified by:
preProcessNode in class QueryNodeProcessorImpl
Parameters:
node - the query node to be pre-processed
Returns:
a query node
Throws:
QueryNodeException - if something goes wrong during the query node processing

setChildrenOrder

protected List<QueryNode> setChildrenOrder(List<QueryNode> children)
                                    throws QueryNodeException
Description copied from class: QueryNodeProcessorImpl
This method is invoked for every node that has at least on child. It's invoked right before QueryNodeProcessorImpl.postProcessNode(QueryNode) is invoked.

Specified by:
setChildrenOrder in class QueryNodeProcessorImpl
Parameters:
children - the list containing all current node's children
Returns:
a new list containing all children that should be set to the current node
Throws:
QueryNodeException - if something goes wrong during the query node processing


Copyright © 2000-2010 Apache Software Foundation. All Rights Reserved.