## Package org.apache.lucene.queryParser.core.processors

Interfaces and implementations used by query node processors

See:
Description

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

Class Summary
NoChildOptimizationQueryNodeProcessor: A `NoChildOptimizationQueryNodeProcessor` removes every BooleanQueryNode, BoostQueryNode, TokenizedPhraseQueryNode or ModifierQueryNode that do not have a valid children.
QueryNodeProcessorImpl: This is a default implementation for the `QueryNodeProcessor` interface, it's an abstract class, so it should be extended by classes that want to process a `QueryNode` tree.
QueryNodeProcessorPipeline: A `QueryNodeProcessorPipeline` class should be used to build a query node processor pipeline.
RemoveDeletedQueryNodesProcessor: A `QueryNodeProcessorPipeline` class removes every instance of `DeletedQueryNode` from a query node tree.

## Package org.apache.lucene.queryParser.core.processors Description

Interfaces and implementations used by query node processors

## Query Node Processors

The package `org.apache.lucene.queryParser.processors` contains interfaces that should be implemented by every query node processor.

The interface that every query node processor should implement is `QueryNodeProcessor`.

A query node processor should be used to process a `QueryNode` tree. `QueryNode` trees can be programmatically created or generated by a text parser. See `org.apache.lucene.queryParser.core.parser` for more details about text parsers.

A query node processor should be used to process a `QueryNode` tree. `QueryNode` trees can be programmatically created or generated by a text parser. See `org.apache.lucene.queryParser.core.parser` for more details about text parsers.

A pipeline of processors can be assembled using `QueryNodeProcessorPipeline`.

Implementors may want to extend `QueryNodeProcessorImpl`, which simplifies the implementation, because it walks automatically the `QueryNode`. See `QueryNodeProcessorImpl` for more details.