Class AbstractRangeQueryNode<T extends FieldValuePairQueryNode<?>>
java.lang.Object
org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl
org.apache.lucene.queryparser.flexible.standard.nodes.AbstractRangeQueryNode<T>
- Type Parameters:
T
- the type of the range query bounds (lower and upper)
- All Implemented Interfaces:
Cloneable
,FieldableNode
,QueryNode
,RangeQueryNode<FieldValuePairQueryNode<?>>
- Direct Known Subclasses:
PointRangeQueryNode
,TermRangeQueryNode
public class AbstractRangeQueryNode<T extends FieldValuePairQueryNode<?>>
extends QueryNodeImpl
implements RangeQueryNode<FieldValuePairQueryNode<?>>
This class should be extended by nodes intending to represent range queries.
-
Field Summary
Fields inherited from class org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl
PLAINTEXT_FIELD_NAME, toQueryStringIgnoreFields
-
Constructor Summary
ModifierConstructorDescriptionprotected
Constructs anAbstractRangeQueryNode
, it should be invoked only by its extenders. -
Method Summary
Modifier and TypeMethodDescriptiongetField()
Returns the field associated with this node.Returns the lower bound node.Returns the upper bound node.boolean
Returns whether the lower bound is inclusive or exclusive.boolean
Returns whether the upper bound is inclusive or exclusive.void
Sets the lower and upper bounds.void
setField
(CharSequence fieldName) Sets the field associated with this node.toQueryString
(EscapeQuerySyntax escapeSyntaxParser) convert to a query string understood by the query parsertoString()
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, cloneTree, 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
Methods inherited from interface org.apache.lucene.queryparser.flexible.core.nodes.QueryNode
add, add, cloneTree, containsTag, getChildren, getParent, getTag, getTagMap, isLeaf, removeChildren, removeFromParent, set, setTag, unsetTag
-
Constructor Details
-
AbstractRangeQueryNode
protected AbstractRangeQueryNode()Constructs anAbstractRangeQueryNode
, it should be invoked only by its extenders.
-
-
Method Details
-
getField
Returns the field associated with this node.- Specified by:
getField
in interfaceFieldableNode
- Returns:
- the field associated with this node
- See Also:
-
setField
Sets the field associated with this node.- Specified by:
setField
in interfaceFieldableNode
- Parameters:
fieldName
- the field associated with this node
-
getLowerBound
Returns the lower bound node.- Specified by:
getLowerBound
in interfaceRangeQueryNode<T extends FieldValuePairQueryNode<?>>
- Returns:
- the lower bound node.
-
getUpperBound
Returns the upper bound node.- Specified by:
getUpperBound
in interfaceRangeQueryNode<T extends FieldValuePairQueryNode<?>>
- Returns:
- the upper bound node.
-
isLowerInclusive
public boolean isLowerInclusive()Returns whether the lower bound is inclusive or exclusive.- Specified by:
isLowerInclusive
in interfaceRangeQueryNode<T extends FieldValuePairQueryNode<?>>
- Returns:
true
if the lower bound is inclusive, otherwise,false
-
isUpperInclusive
public boolean isUpperInclusive()Returns whether the upper bound is inclusive or exclusive.- Specified by:
isUpperInclusive
in interfaceRangeQueryNode<T extends FieldValuePairQueryNode<?>>
- Returns:
true
if the upper bound is inclusive, otherwise,false
-
setBounds
Sets the lower and upper bounds.- Parameters:
lower
- the lower bound,null
if lower bound is openupper
- the upper bound,null
if upper bound is openlowerInclusive
-true
if the lower bound is inclusive, otherwise,false
upperInclusive
-true
if the upper bound is inclusive, otherwise,false
- See Also:
-
toQueryString
Description copied from interface:QueryNode
convert to a query string understood by the query parser- Specified by:
toQueryString
in interfaceQueryNode
-
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:
-