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