Class PathQueryNode
- java.lang.Object
-
- org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl
-
- org.apache.lucene.queryparser.flexible.core.nodes.PathQueryNode
-
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, toQueryStringIgnoreFields
-
-
Constructor Summary
Constructors Constructor Description PathQueryNode(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() methodCharSequence
getFirstPathElement()
Returns the CharSequence value of a specific QueryText elementPathQueryNode.QueryText
getPathElement(int index)
Returns the a specific QueryText elementList<PathQueryNode.QueryText>
getPathElements()
Returns the a List with all QueryText elementsList<PathQueryNode.QueryText>
getPathElements(int startIndex)
Returns a List QueryText element from position startIndexvoid
setPathElements(List<PathQueryNode.QueryText> elements)
Returns the a List with all QueryText elementsCharSequence
toQueryString(EscapeQuerySyntax escaper)
convert to a query string understood by the query parserString
toString()
Every implementation of this class should return pseudo xml like this:-
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
-
-
-
-
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 interfaceQueryNode
- Overrides:
toString
in classQueryNodeImpl
- 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 interfaceQueryNode
- Overrides:
cloneTree
in classQueryNodeImpl
- Returns:
- the cloned tree
- Throws:
CloneNotSupportedException
-
-