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
`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 and Description
`FieldQueryNode(CharSequence field, CharSequence text, int begin, int end)`

### Method Summary

Methods
`FieldQueryNode` `cloneTree()` Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() method
`int` `getBegin()`
`int` `getEnd()`
`CharSequence` `getField()` Returns the field associated to the node and every node under it.
`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()` Returns the term.
`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: 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, 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, containsTag, getChildren, getParent, getTag, getTagMap, isLeaf, set, setTag, unsetTag`

### Field Detail

#### 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 Detail

#### 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 Detail

#### 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()

Description copied from interface: `FieldableNode`
Returns the field associated to the node and every node under it.

Specified by:
  `getField` in interface `FieldableNode`
Returns:
  the field name

#### 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()

Returns the term.

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>`