|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.lucene.queryParser.core.processors.QueryNodeProcessorImpl org.apache.lucene.queryParser.standard.processors.RemoveEmptyNonLeafQueryNodeProcessor
public class RemoveEmptyNonLeafQueryNodeProcessor
This processor removes every QueryNode
that is not a leaf and has not
children. If after processing the entire tree the root node is not a leaf and
has no children, a MatchNoDocsQueryNode
object is returned.
This processor is used at the end of a pipeline to avoid invalid query node
tree structures like a GroupQueryNode
or ModifierQueryNode
with no children.
QueryNode
,
MatchNoDocsQueryNode
Constructor Summary | |
---|---|
RemoveEmptyNonLeafQueryNodeProcessor()
|
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. |
QueryNode |
process(QueryNode queryTree)
Processes a query node 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, processChildren, setQueryConfigHandler |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RemoveEmptyNonLeafQueryNodeProcessor()
Method Detail |
---|
public QueryNode process(QueryNode queryTree) throws QueryNodeException
QueryNodeProcessor
null
.
process
in interface QueryNodeProcessor
process
in class QueryNodeProcessorImpl
queryTree
- tree root node
QueryNodeException
protected QueryNode postProcessNode(QueryNode node) throws QueryNodeException
QueryNodeProcessorImpl
postProcessNode
in class QueryNodeProcessorImpl
node
- node the query node to be post-processed
QueryNodeException
- if something goes wrong during the query node processingprotected QueryNode preProcessNode(QueryNode node) throws QueryNodeException
QueryNodeProcessorImpl
preProcessNode
in class QueryNodeProcessorImpl
node
- the query node to be pre-processed
QueryNodeException
- if something goes wrong during the query node processingprotected List<QueryNode> setChildrenOrder(List<QueryNode> children) throws QueryNodeException
QueryNodeProcessorImpl
QueryNodeProcessorImpl.postProcessNode(QueryNode)
is invoked.
setChildrenOrder
in class QueryNodeProcessorImpl
children
- the list containing all current node's children
QueryNodeException
- if something goes wrong during the query node processing
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |