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
Constructors Modifier Constructor Description protected
AbstractRangeQueryNode()
Constructs anAbstractRangeQueryNode
, it should be invoked only by its extenders.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CharSequence
getField()
Returns the field associated with this node.T
getLowerBound()
Returns the lower bound node.T
getUpperBound()
Returns the upper bound node.boolean
isLowerInclusive()
Returns whether the lower bound is inclusive or exclusive.boolean
isUpperInclusive()
Returns whether the upper bound is inclusive or exclusive.void
setBounds(T lower, T upper, boolean lowerInclusive, boolean upperInclusive)
Sets the lower and upper bounds.void
setField(CharSequence fieldName)
Sets the field associated with this node.CharSequence
toQueryString(EscapeQuerySyntax escapeSyntaxParser)
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, 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 Detail
-
AbstractRangeQueryNode
protected AbstractRangeQueryNode()
Constructs anAbstractRangeQueryNode
, it should be invoked only by its extenders.
-
-
Method Detail
-
getField
public CharSequence getField()
Returns the field associated with this node.- Specified by:
getField
in interfaceFieldableNode
- Returns:
- the field associated with this node
- See Also:
FieldableNode
-
setField
public void setField(CharSequence fieldName)
Sets the field associated with this node.- Specified by:
setField
in interfaceFieldableNode
- Parameters:
fieldName
- the field associated with this node
-
getLowerBound
public T getLowerBound()
Returns the lower bound node.- Specified by:
getLowerBound
in interfaceRangeQueryNode<T extends FieldValuePairQueryNode<?>>
- Returns:
- the lower bound node.
-
getUpperBound
public T 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
public void setBounds(T lower, T upper, boolean lowerInclusive, boolean upperInclusive)
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:
getLowerBound()
,getUpperBound()
,isLowerInclusive()
,isUpperInclusive()
-
toQueryString
public CharSequence toQueryString(EscapeQuerySyntax escapeSyntaxParser)
Description copied from interface:QueryNode
convert to a query string understood by the query parser- Specified by:
toQueryString
in interfaceQueryNode
-
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()
-
-