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

## Class ModifierQueryNode

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

- All Implemented Interfaces:
    Cloneable, QueryNode
  Direct Known Subclasses:
    BooleanModifierNode

      public class ModifierQueryNode
      extends QueryNodeImpl

  A `ModifierQueryNode` indicates the modifier value (+,-,?,NONE) for each term on the query string. For example "+t1 -t2 t3" will have a tree of:

  > <BooleanQueryNode> <ModifierQueryNode modifier="MOD_REQ"> <t1/> </ModifierQueryNode> <ModifierQueryNode modifier="MOD_NOT"> <t2/> </ModifierQueryNode> <t3/> </BooleanQueryNode>

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ModifierQueryNode.Modifier` Modifier type: such as required (REQ), prohibited (NOT)

  - ### Field Summary

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

      `PLAINTEXT_FIELD_NAME, toQueryStringIgnoreFields`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ModifierQueryNode(QueryNode query, ModifierQueryNode.Modifier mod)` Used to store the modifier value on the original query string

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `QueryNode` | `cloneTree()` Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() method
    `QueryNode` | `getChild()`
    `ModifierQueryNode.Modifier` | `getModifier()`
    `void` | `setChild(QueryNode child)`
    `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, 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`

- - ### Constructor Detail

    - #### ModifierQueryNode

          public ModifierQueryNode(QueryNode query,
                                   ModifierQueryNode.Modifier mod)

      Used to store the modifier value on the original query string
      Parameters:
        `query` - - QueryNode subtree
        `mod` - - Modifier Value

  - ### Method Detail

    - #### getChild

          public QueryNode getChild()

    - #### getModifier

          public ModifierQueryNode.Modifier getModifier()

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

    - #### toQueryString

          public CharSequence toQueryString(EscapeQuerySyntax escapeSyntaxParser)

      Description copied from interface: `QueryNode`
      convert to a query string understood by the query parser

    - #### cloneTree

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

    - #### setChild

          public void setChild(QueryNode child)

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