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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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: 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, 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 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>`

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