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

## Class PathQueryNode

- java.lang.Object
- - org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl
  - - org.apache.lucene.queryparser.flexible.core.nodes.PathQueryNode

- All Implemented Interfaces:
    Cloneable, QueryNode

      public class PathQueryNode
      extends QueryNodeImpl

  A `PathQueryNode` is used to store queries like /company/USA/California /product/shoes/brown. QueryText are objects that contain the text, begin position and end position in the query.

  Example how the text parser creates these objects:

       List values = ArrayList();
       values.add(new PathQueryNode.QueryText("company", 1, 7));
       values.add(new PathQueryNode.QueryText("USA", 9, 12));
       values.add(new PathQueryNode.QueryText("California", 14, 23));
       QueryNode q = new PathQueryNode(values);

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `PathQueryNode.QueryText` Term text with a beginning and end position

  - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl

      `PLAINTEXT_FIELD_NAME, toQueryStringIgnoreFields`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PathQueryNode(List<PathQueryNode.QueryText> pathElements)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `QueryNode` | `cloneTree()` Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() method
    `CharSequence` | `getFirstPathElement()` Returns the CharSequence value of a specific QueryText element
    `PathQueryNode.QueryText` | `getPathElement(int index)` Returns the a specific QueryText element
    `List<PathQueryNode.QueryText>` | `getPathElements()` Returns the a List with all QueryText elements
    `List<PathQueryNode.QueryText>` | `getPathElements(int startIndex)` Returns a List QueryText element from position startIndex
    `void` | `setPathElements(List<PathQueryNode.QueryText> elements)` Returns the a List with all QueryText elements
    `CharSequence` | `toQueryString(EscapeQuerySyntax escaper)` convert to a query string understood by the query parser
    `String` | `toString()` Every implementation of this class should return pseudo xml like this: For FieldQueryNode: <field start='1' end='2' field='subject' text='foo'/>

    - ### Methods inherited from class org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl

      `add, add, allocate, clone, containsTag, getChildren, getParent, getTag, getTagMap, isDefaultField, isLeaf, isRoot, removeChildren, removeFromParent, set, setLeaf, setTag, unsetTag`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### PathQueryNode

          public PathQueryNode(List<PathQueryNode.QueryText> pathElements)

      Parameters:
        `pathElements` - - List of QueryText objects

  - ### Method Detail

    - #### getPathElements

          public List<PathQueryNode.QueryText> getPathElements()

      Returns the a List with all QueryText elements
      Returns:
        QueryText List size

    - #### setPathElements

          public void setPathElements(List<PathQueryNode.QueryText> elements)

      Returns the a List with all QueryText elements

    - #### getPathElement

          public PathQueryNode.QueryText getPathElement(int index)

      Returns the a specific QueryText element
      Returns:
        QueryText List size

    - #### getFirstPathElement

          public CharSequence getFirstPathElement()

      Returns the CharSequence value of a specific QueryText element
      Returns:
        the CharSequence for a specific QueryText element

    - #### getPathElements

          public List<PathQueryNode.QueryText> getPathElements(int startIndex)

      Returns a List QueryText element from position startIndex
      Returns:
        a List QueryText element from position startIndex

    - #### toQueryString

          public CharSequence toQueryString(EscapeQuerySyntax escaper)

      Description copied from interface: `QueryNode`
      convert to a query string understood by the query parser

    - #### toString

          public String toString()

      Description copied from class: `QueryNodeImpl`
      Every implementation of this class should return pseudo xml like this: For FieldQueryNode: <field start='1' end='2' field='subject' text='foo'/>
      Specified by:
        `toString` in interface `QueryNode`
      Overrides:
        `toString` in class `QueryNodeImpl`
      See Also:
        `QueryNode.toString()`

    - #### cloneTree

          public QueryNode cloneTree()
                              throws CloneNotSupportedException

      Description copied from interface: `QueryNode`
      Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() method
      Specified by:
        `cloneTree` in interface `QueryNode`
      Overrides:
        `cloneTree` in class `QueryNodeImpl`
      Returns:
        the cloned tree
      Throws:
        `CloneNotSupportedException`

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