Package org.apache.lucene.queryparser.flexible.core.nodes

# Interface QueryNode

All Known Subinterfaces:
  `FieldableNode`, `FieldValuePairQueryNode<T>`, `RangeQueryNode<T>`, `ValueQueryNode<T>`

All Known Implementing Classes:
  `AbstractRangeQueryNode`, `AndQueryNode`, `AnyQueryNode`, `BooleanModifierNode`, `BooleanQueryNode`, `BoostQueryNode`, `DeletedQueryNode`, `FieldQueryNode`, `FuzzyQueryNode`, `GroupQueryNode`, `IntervalQueryNode`, `MatchAllDocsQueryNode`, `MatchNoDocsQueryNode`, `MinShouldMatchNode`, `ModifierQueryNode`, `MultiPhraseQueryNode`, `NoTokenFoundQueryNode`, `OpaqueQueryNode`, `OrQueryNode`, `PathQueryNode`, `PhraseSlopQueryNode`, `PointQueryNode`, `PointRangeQueryNode`, `PrefixWildcardQueryNode`, `ProximityQueryNode`, `QueryNodeImpl`, `QuotedFieldQueryNode`, `RegexpQueryNode`, `SlopQueryNode`, `SynonymQueryNode`, `TermRangeQueryNode`, `TokenizedPhraseQueryNode`, `WildcardQueryNode`

public interface QueryNode
A `QueryNode` is a interface implemented by all nodes on a QueryNode tree.

## Method Summary

Modifier and Type
Method
Description
`void`
`add(List<QueryNode> children)`
`void`
`add(QueryNode child)`
`QueryNode`
`cloneTree()`
Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() method
`boolean`
`containsTag(String tagName)`
verify if a node contains a tag
`List<QueryNode>`
`getChildren()`
get Children nodes
`QueryNode`
`getParent()`
`Object`
`getTag(String tagName)`
Returns object stored under that tag name
`Map<String,Object>`
`getTagMap()`
Returns a map containing all tags attached to this query node.
`boolean`
`isLeaf()`
verify if a node is a Leaf node
`void`
`removeChildren(QueryNode childNode)`
Remove a child node
`void`
`removeFromParent()`
Removes this query node from its parent.
`void`
`set(List<QueryNode> children)`
`void`
`setTag(String tagName, Object value)`
Associate the specified value with the specified tagName.
`CharSequence`
`toQueryString(EscapeQuerySyntax escapeSyntaxParser)`
convert to a query string understood by the query parser
`String`
`toString()`
for printing
`void`
`unsetTag(String tagName)`
Unset a tag.

## Method Details

### toQueryString

CharSequence toQueryString(EscapeQuerySyntax escapeSyntaxParser)
convert to a query string understood by the query parser

### toString

String toString()
for printing

Overrides:
  `toString` in class `Object`

### getChildren

List<QueryNode> getChildren()
get Children nodes

### isLeaf

boolean isLeaf()
verify if a node is a Leaf node

### containsTag

boolean containsTag(String tagName)
verify if a node contains a tag

### getTag

Object getTag(String tagName)
Returns object stored under that tag name

### getParent

QueryNode getParent()

### cloneTree

QueryNode cloneTree() throws CloneNotSupportedException
Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() method

Returns:
  the cloned tree
Throws:
  `CloneNotSupportedException`

### add

void add(QueryNode child)

### add

void add(List<QueryNode> children)

### set

void set(List<QueryNode> children)

### setTag

void setTag(String tagName, Object value)
Associate the specified value with the specified tagName. If the tagName already exists, the old value is replaced. The tagName and value cannot be null. tagName will be converted to lowercase.

### unsetTag

void unsetTag(String tagName)
Unset a tag. tagName will be converted to lowercase.

### getTagMap

Map<String,Object> getTagMap()
Returns a map containing all tags attached to this query node.

Returns:
  a map containing all tags attached to this query node

### removeFromParent

void removeFromParent()
Removes this query node from its parent.

### removeChildren

void removeChildren(QueryNode childNode)
Remove a child node

Parameters:
  `childNode` - Which child to remove