org.apache.lucene.queryParser.core.nodes
Class PathQueryNode

java.lang.Object
  extended by org.apache.lucene.queryParser.core.nodes.QueryNodeImpl
      extended by org.apache.lucene.queryParser.core.nodes.PathQueryNode
All Implemented Interfaces:
Serializable, 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);
 

See Also:
Serialized Form

Nested Class Summary
static class PathQueryNode.QueryText
           
 
Field Summary
 
Fields inherited from class org.apache.lucene.queryParser.core.nodes.QueryNodeImpl
PLAINTEXT_FIELD_NAME, toQueryStringIgnoreFields
 
Constructor Summary
PathQueryNode(List<PathQueryNode.QueryText> pathElements)
           
 
Method Summary
 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:
 
Methods inherited from class org.apache.lucene.queryParser.core.nodes.QueryNodeImpl
add, add, allocate, clone, containsTag, containsTag, getChildren, getParent, getTag, getTag, getTagMap, getTags, isDefaultField, isLeaf, isRoot, set, setLeaf, setTag, setTag, unsetTag, 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:

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