org.apache.lucene.queryparser.flexible.core.processors

## Interface QueryNodeProcessor

All Known Implementing Classes:
  AllowLeadingWildcardProcessor, AnalyzerQueryNodeProcessor, BooleanModifiersQueryNodeProcessor, BooleanQuery2ModifierNodeProcessor, BooleanSingleChildOptimizationQueryNodeProcessor, BoostQueryNodeProcessor, DefaultPhraseSlopQueryNodeProcessor, FuzzyQueryNodeProcessor, MatchAllDocsQueryNodeProcessor, MultiFieldQueryNodeProcessor, MultiTermRewriteMethodProcessor, NoChildOptimizationQueryNodeProcessor, OpenRangeQueryNodeProcessor, PhraseSlopQueryNodeProcessor, PointQueryNodeProcessor, PointRangeQueryNodeProcessor, PrecedenceQueryNodeProcessorPipeline, QueryNodeProcessorImpl, QueryNodeProcessorPipeline, RegexpQueryNodeProcessor, RemoveDeletedQueryNodesProcessor, RemoveEmptyNonLeafQueryNodeProcessor, StandardQueryNodeProcessorPipeline, TermRangeQueryNodeProcessor, WildcardQueryNodeProcessor

    public interface QueryNodeProcessor

A `QueryNodeProcessor` is an interface for classes that process a `QueryNode` tree.

The implementor of this class should perform some operation on a query node tree and return the same or another query node tree.

It also may carry a `QueryConfigHandler` object that contains configuration about the query represented by the query tree or the collection/index where it's intended to be executed.

In case there is any `QueryConfigHandler` associated to the query tree to be processed, it should be set using `setQueryConfigHandler(QueryConfigHandler)` before `process(QueryNode)` is invoked.

See Also:
  `QueryNode`, `QueryNodeProcessor`, `QueryConfigHandler`

### Method Summary

All Methods Instance Methods Abstract Methods
`QueryConfigHandler` `getQueryConfigHandler()` Returns the `QueryConfigHandler` associated to the query tree if any, otherwise it returns `null`
`QueryNode` `process(QueryNode queryTree)` Processes a query node tree.
`void` `setQueryConfigHandler(QueryConfigHandler queryConfigHandler)` Sets the `QueryConfigHandler` associated to the query tree.

### Method Detail

#### process

    QueryNode process(QueryNode queryTree)
               throws QueryNodeException

Processes a query node tree. It may return the same or another query tree. I should never return `null`.

Parameters:
  `queryTree` - tree root node
Returns:
  the processed query tree
Throws:
  `QueryNodeException`

#### setQueryConfigHandler

    void setQueryConfigHandler(QueryConfigHandler queryConfigHandler)

Sets the `QueryConfigHandler` associated to the query tree.

#### getQueryConfigHandler

    QueryConfigHandler getQueryConfigHandler()

Returns the `QueryConfigHandler` associated to the query tree if any, otherwise it returns `null`

Returns:
  the `QueryConfigHandler` associated to the query tree if any, otherwise it returns `null`