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

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