C# Class Lucene.Net.QueryParsers.Flexible.Core.Util.QueryNodeOperation

Allow joining 2 QueryNode Trees, into one.
Exibir arquivo Open project: apache/lucenenet

Public Methods

Method Description
LogicalAnd ( IQueryNode q1, IQueryNode q2 ) : IQueryNode

perform a logical and of 2 QueryNode trees. if q1 and q2 are ANDQueryNode nodes it uses head Node from q1 and adds the children of q2 to q1 if q1 is a AND node and q2 is not, add q2 as a child of the head node of q1 if q2 is a AND node and q1 is not, add q1 as a child of the head node of q2 if q1 and q2 are not ANDQueryNode nodes, create a AND node and make q1 and q2 children of that node if q1 or q2 is null it returns the not null node if q1 = q2 = null it returns null

Private Methods

Method Description
QueryNodeOperation ( ) : Lucene.Net.QueryParsers.Flexible.Core.Nodes

Method Details

LogicalAnd() public static method

perform a logical and of 2 QueryNode trees. if q1 and q2 are ANDQueryNode nodes it uses head Node from q1 and adds the children of q2 to q1 if q1 is a AND node and q2 is not, add q2 as a child of the head node of q1 if q2 is a AND node and q1 is not, add q1 as a child of the head node of q2 if q1 and q2 are not ANDQueryNode nodes, create a AND node and make q1 and q2 children of that node if q1 or q2 is null it returns the not null node if q1 = q2 = null it returns null
public static LogicalAnd ( IQueryNode q1, IQueryNode q2 ) : IQueryNode
q1 IQueryNode
q2 IQueryNode
return IQueryNode