## org.apache.lucene.queryparser.flexible.standard.nodes
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:
  NumericRangeQueryNode, 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
`protected` `AbstractRangeQueryNode()` Constructs an `AbstractRangeQueryNode`, it should be invoked only by its extenders.

Method Summary
`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 parser
`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, allocate, clone, cloneTree, containsTag, getChildren, getParent, getTag, getTagMap, isDefaultField, isLeaf, isRoot, 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, set, setTag, unsetTag`

Constructor Detail

### AbstractRangeQueryNode

    protected AbstractRangeQueryNode()

  Constructs an `AbstractRangeQueryNode`, 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 interface `FieldableNode`
  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 interface `FieldableNode`
  Parameters:
    `fieldName` - the field associated with this node

### getLowerBound

    public T getLowerBound()

  Returns the lower bound node.

  Specified by:
    `getLowerBound` in interface `RangeQueryNode<FieldValuePairQueryNode<?>>`
  Returns:
    the lower bound node.

### getUpperBound

    public T getUpperBound()

  Returns the upper bound node.

  Specified by:
    `getUpperBound` in interface `RangeQueryNode<FieldValuePairQueryNode<?>>`
  Returns:
    the upper bound node.

### isLowerInclusive

    public boolean isLowerInclusive()

  Returns whether the lower bound is inclusive or exclusive.

  Specified by:
    `isLowerInclusive` in interface `RangeQueryNode<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 interface `RangeQueryNode<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 open
    `upper` - the upper bound, `null` if upper bound is open
    `lowerInclusive` - `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 interface `QueryNode`

### 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 interface `QueryNode`
  Overrides:
    `toString` in class `QueryNodeImpl`
  See Also:
    `QueryNode.toString()`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.