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, MatchAllDocsQueryNode, MatchNoDocsQueryNode, 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

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and 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 Detail

    - #### 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

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.