public class RemoveEmptyNonLeafQueryNodeProcessor extends QueryNodeProcessorImpl
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.
GroupQueryNode
or ModifierQueryNode
with no children.QueryNode
,
MatchNoDocsQueryNode
Constructor and Description |
---|
RemoveEmptyNonLeafQueryNodeProcessor() |
Modifier and Type | Method and Description |
---|---|
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.
|
getQueryConfigHandler, processChildren, setQueryConfigHandler
public RemoveEmptyNonLeafQueryNodeProcessor()
public QueryNode process(QueryNode queryTree) throws QueryNodeException
QueryNodeProcessor
null
.process
in interface QueryNodeProcessor
process
in class QueryNodeProcessorImpl
queryTree
- tree root nodeQueryNodeException
protected QueryNode postProcessNode(QueryNode node) throws QueryNodeException
QueryNodeProcessorImpl
postProcessNode
in class QueryNodeProcessorImpl
node
- node the query node to be post-processedQueryNodeException
- 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-processedQueryNodeException
- 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 childrenQueryNodeException
- if something goes wrong during the query node processingCopyright © 2000-2017 Apache Software Foundation. All Rights Reserved.