Package org.apache.lucene.queryparser.flexible.core.nodes

# Class FieldQueryNode

java.lang.Object
org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl
org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode

All Implemented Interfaces:
  `Cloneable`, `FieldableNode`, `FieldValuePairQueryNode<CharSequence>`, `QueryNode`, `TextableQueryNode`, `ValueQueryNode<CharSequence>`

Direct Known Subclasses:
  `FuzzyQueryNode`, `QuotedFieldQueryNode`, `WildcardQueryNode`

public class FieldQueryNode extends QueryNodeImpl implements FieldValuePairQueryNode<CharSequence>, TextableQueryNode
A `FieldQueryNode` represents a element that contains field/text tuple

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected int`
  `begin`
  The term's begin position.
  `protected int`
  `end`
  The term's end position.
  `protected CharSequence`
  `field`
  The term's field
  `protected int`
  `positionIncrement`
  The term's position increment.
  `protected CharSequence`
  `text`
  The term's text.

  ### Fields inherited from class org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl

  `PLAINTEXT_FIELD_NAME, toQueryStringIgnoreFields`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FieldQueryNode(CharSequence field, CharSequence text, int begin, int end)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `FieldQueryNode`
  `cloneTree()`
  Recursive clone the QueryNode tree.
  `int`
  `getBegin()`
  `int`
  `getEnd()`
  `CharSequence`
  `getField()`
  `String`
  `getFieldAsString()`
  returns null if the field was not specified in the query string
  `int`
  `getPositionIncrement()`
  `protected CharSequence`
  `getTermEscaped(EscapeQuerySyntax escaper)`
  `protected CharSequence`
  `getTermEscapeQuoted(EscapeQuerySyntax escaper)`
  `CharSequence`
  `getText()`
  `String`
  `getTextAsString()`
  `CharSequence`
  `getValue()`
  `void`
  `setBegin(int begin)`
  `void`
  `setEnd(int end)`
  `void`
  `setField(CharSequence field)`
  Associates the node to a field.
  `void`
  `setPositionIncrement(int pi)`
  `void`
  `setText(CharSequence text)`
  `void`
  `setValue(CharSequence value)`
  `CharSequence`
  `toQueryString(EscapeQuerySyntax escaper)`
  convert to a query string understood by the query parser
  `String`
  `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`

  ### 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, containsTag, getChildren, getParent, getTag, getTagMap, isLeaf, removeChildren, removeFromParent, set, setTag, unsetTag`

- ## Field Details

  - ### field

    protected CharSequence field
    The term's field

  - ### text

    protected CharSequence text
    The term's text.

  - ### begin

    protected int begin
    The term's begin position.

  - ### end

    protected int end
    The term's end position.

  - ### positionIncrement

    protected int positionIncrement
    The term's position increment.

- ## Constructor Details

  - ### FieldQueryNode

    public FieldQueryNode(CharSequence field, CharSequence text, int begin, int end)
    Parameters:
      `field` - - field name
      `text` - - value
      `begin` - - position in the query string
      `end` - - position in the query string

- ## Method Details

  - ### getTermEscaped

    protected CharSequence getTermEscaped(EscapeQuerySyntax escaper)

  - ### getTermEscapeQuoted

    protected CharSequence getTermEscapeQuoted(EscapeQuerySyntax escaper)

  - ### toQueryString

    public CharSequence toQueryString(EscapeQuerySyntax escaper)
    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()`

  - ### getTextAsString

    public String getTextAsString()
    Returns:
      the term

  - ### getFieldAsString

    public String getFieldAsString()
    returns null if the field was not specified in the query string
    Returns:
      the field

  - ### getBegin

    public int getBegin()

  - ### setBegin

    public void setBegin(int begin)

  - ### getEnd

    public int getEnd()

  - ### setEnd

    public void setEnd(int end)

  - ### getField

    public CharSequence getField()
    Specified by:
      `getField` in interface `FieldableNode`
    Returns:
      name of the filed associated to the node and every node under it

  - ### setField

    public void setField(CharSequence field)
    Description copied from interface: `FieldableNode`
    Associates the node to a field.
    Specified by:
      `setField` in interface `FieldableNode`
    Parameters:
      `field` - the field name

  - ### getPositionIncrement

    public int getPositionIncrement()

  - ### setPositionIncrement

    public void setPositionIncrement(int pi)

  - ### getText

    public CharSequence getText()
    Specified by:
      `getText` in interface `TextableQueryNode`
    Returns:
      The "original" form of the term.

  - ### setText

    public void setText(CharSequence text)
    Specified by:
      `setText` in interface `TextableQueryNode`
    Parameters:
      `text` - the text to set

  - ### cloneTree

    public FieldQueryNode 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 interface `QueryNode`
    Overrides:
      `cloneTree` in class `QueryNodeImpl`
    Returns:
      the cloned tree
    Throws:
      `CloneNotSupportedException`

  - ### getValue

    public CharSequence getValue()
    Specified by:
      `getValue` in interface `ValueQueryNode<CharSequence>`

  - ### setValue

    public void setValue(CharSequence value)
    Specified by:
      `setValue` in interface `ValueQueryNode<CharSequence>`