public abstract class QueryNodeProcessorImpl extends Object implements QueryNodeProcessor
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.
This class process QueryNode
s from left to right in the tree. While
it's walking down the tree, for every node,
preProcessNode(QueryNode)
is invoked. After a node's children are
processed, postProcessNode(QueryNode)
is invoked for that node.
setChildrenOrder(List)
is invoked before
postProcessNode(QueryNode)
only if the node has at least one child,
in setChildrenOrder(List)
the implementor might redefine the
children order or remove any children from the children list.
Here is an example about how it process the nodes:
a / \ b e / \ c dHere is the order the methods would be invoked for the tree described above:
preProcessNode( a ); preProcessNode( b ); preProcessNode( c ); postProcessNode( c ); preProcessNode( d ); postProcessNode( d ); setChildrenOrder( bChildrenList ); postProcessNode( b ); preProcessNode( e ); postProcessNode( e ); setChildrenOrder( aChildrenList ); postProcessNode( a )
QueryNodeProcessor
Constructor and Description |
---|
QueryNodeProcessorImpl() |
QueryNodeProcessorImpl(QueryConfigHandler queryConfigHandler) |
Modifier and Type | Method and Description |
---|---|
QueryConfigHandler |
getQueryConfigHandler()
For reference about this method check:
QueryNodeProcessor.getQueryConfigHandler() . |
QueryNode |
process(QueryNode queryTree)
Processes a query node tree.
|
void |
setQueryConfigHandler(QueryConfigHandler queryConfigHandler)
For reference about this method check:
QueryNodeProcessor.setQueryConfigHandler(QueryConfigHandler) . |
public QueryNodeProcessorImpl()
public QueryNodeProcessorImpl(QueryConfigHandler queryConfigHandler)
public QueryNode process(QueryNode queryTree) throws QueryNodeException
QueryNodeProcessor
null
.process
in interface QueryNodeProcessor
queryTree
- tree root nodeQueryNodeException
public void setQueryConfigHandler(QueryConfigHandler queryConfigHandler)
QueryNodeProcessor.setQueryConfigHandler(QueryConfigHandler)
.setQueryConfigHandler
in interface QueryNodeProcessor
queryConfigHandler
- the query configuration handler to be set.QueryNodeProcessor.getQueryConfigHandler()
,
QueryConfigHandler
public QueryConfigHandler getQueryConfigHandler()
QueryNodeProcessor.getQueryConfigHandler()
.getQueryConfigHandler
in interface QueryNodeProcessor
QueryNodeProcessor.setQueryConfigHandler(QueryConfigHandler)
,
QueryConfigHandler
Copyright © 2010 - 2020 Adobe. All Rights Reserved