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);
 
  • Constructor Details

    • PathQueryNode

      public PathQueryNode(List<PathQueryNode.QueryText> pathElements)
      Parameters:
      pathElements - - List of QueryText objects
  • Method Details

    • 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:
    • 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