Class PathQueryNode
- java.lang.Object
-
- org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl
-
- org.apache.lucene.queryparser.flexible.core.nodes.PathQueryNode
-
- All Implemented Interfaces:
java.lang.Cloneable
,QueryNode
public class PathQueryNode extends QueryNodeImpl
APathQueryNode
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 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
-
-
Constructor Summary
Constructors Constructor Description PathQueryNode(java.util.List<PathQueryNode.QueryText> pathElements)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description QueryNode
cloneTree()
Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() methodjava.lang.CharSequence
getFirstPathElement()
Returns the CharSequence value of a specific QueryText elementPathQueryNode.QueryText
getPathElement(int index)
Returns the a specific QueryText elementjava.util.List<PathQueryNode.QueryText>
getPathElements()
Returns the a List with all QueryText elementsjava.util.List<PathQueryNode.QueryText>
getPathElements(int startIndex)
Returns a List QueryText element from position startIndexvoid
setPathElements(java.util.List<PathQueryNode.QueryText> elements)
Returns the a List with all QueryText elementsjava.lang.CharSequence
toQueryString(EscapeQuerySyntax escaper)
convert to a query string understood by the query parserjava.lang.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, clone, containsTag, getChildren, getParent, getTag, getTagMap, isLeaf, removeFromParent, set, setTag, unsetTag
-
-
-
-
Constructor Detail
-
PathQueryNode
public PathQueryNode(java.util.List<PathQueryNode.QueryText> pathElements)
- Parameters:
pathElements
- - List of QueryText objects
-
-
Method Detail
-
getPathElements
public java.util.List<PathQueryNode.QueryText> getPathElements()
Returns the a List with all QueryText elements- Returns:
- QueryText List size
-
setPathElements
public void setPathElements(java.util.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 java.lang.CharSequence getFirstPathElement()
Returns the CharSequence value of a specific QueryText element- Returns:
- the CharSequence for a specific QueryText element
-
getPathElements
public java.util.List<PathQueryNode.QueryText> getPathElements(int startIndex)
Returns a List QueryText element from position startIndex- Returns:
- a List QueryText element from position startIndex
-
toQueryString
public java.lang.CharSequence toQueryString(EscapeQuerySyntax escaper)
Description copied from interface:QueryNode
convert to a query string understood by the query parser
-
toString
public java.lang.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 interfaceQueryNode
- Overrides:
toString
in classQueryNodeImpl
- See Also:
QueryNode.toString()
-
cloneTree
public QueryNode cloneTree() throws java.lang.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 interfaceQueryNode
- Overrides:
cloneTree
in classQueryNodeImpl
- Returns:
- the cloned tree
- Throws:
java.lang.CloneNotSupportedException
-
-