public class BooleanModifiersQueryNodeProcessor extends QueryNodeProcessorImpl
This processor is used to apply the correct ModifierQueryNode to BooleanQueryNodes children.
It walks through the query node tree looking for BooleanQueryNodes. If an AndQueryNode is found,
every child, which is not a ModifierQueryNode or the ModifierQueryNode
is ModifierQueryNode.Modifier.MOD_NONE, becomes a ModifierQueryNode.Modifier.MOD_REQ. For any other
BooleanQueryNode which is not an OrQueryNode, it checks the default operator is StandardQueryConfigHandler.Operator.AND,
if it is, the same operation when an AndQueryNode is found is applied to it.
| Constructor and Description |
|---|
BooleanModifiersQueryNodeProcessor() |
| 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, setQueryConfigHandlerpublic QueryNode process(QueryNode queryTree) throws QueryNodeException
QueryNodeProcessornull.process in interface QueryNodeProcessorprocess in class QueryNodeProcessorImplqueryTree - tree root nodeQueryNodeExceptionprotected QueryNode postProcessNode(QueryNode node) throws QueryNodeException
QueryNodeProcessorImplpostProcessNode in class QueryNodeProcessorImplnode - node the query node to be post-processedQueryNodeException - if something goes wrong during the query node processingprotected QueryNode preProcessNode(QueryNode node) throws QueryNodeException
QueryNodeProcessorImplpreProcessNode in class QueryNodeProcessorImplnode - the query node to be pre-processedQueryNodeException - if something goes wrong during the query node processingprotected List<QueryNode> setChildrenOrder(List<QueryNode> children) throws QueryNodeException
QueryNodeProcessorImplQueryNodeProcessorImpl.postProcessNode(QueryNode) is invoked.setChildrenOrder in class QueryNodeProcessorImplchildren - the list containing all current node's childrenQueryNodeException - if something goes wrong during the query node processing