## org.apache.lucene.queryParser.core.nodes
Class QueryNodeImpl

    java.lang.Object
      org.apache.lucene.queryParser.core.nodes.QueryNodeImpl

All Implemented Interfaces:
  Serializable, Cloneable, QueryNode

Direct Known Subclasses:
  AbstractRangeQueryNode, BooleanQueryNode, BoostQueryNode, DeletedQueryNode, FieldQueryNode, GroupQueryNode, MatchAllDocsQueryNode, ModifierQueryNode, MultiPhraseQueryNode, NumericQueryNode, OpaqueQueryNode, ParametricRangeQueryNode, PathQueryNode, PhraseSlopQueryNode, SlopQueryNode, TokenizedPhraseQueryNode

    public abstract class QueryNodeImpl

extends Object
implements QueryNode, Cloneable

A `QueryNodeImpl` is the default implementation of the interface `QueryNode`

See Also:
  Serialized Form

Field Summary
`static String` `PLAINTEXT_FIELD_NAME`
`protected boolean` `toQueryStringIgnoreFields` If set to true the the method toQueryString will not write field names

Constructor Summary
`QueryNodeImpl()`

Method Summary
`void` `add(List<QueryNode> children)`
`void` `add(QueryNode child)`
`protected void` `allocate()`
`Object` `clone()`
`QueryNode` `cloneTree()` Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() method
`boolean` `containsTag(CharSequence tagName)` Deprecated. use `containsTag(String)` instead
`boolean` `containsTag(String tagName)` verify if a node contains a tag
`List<QueryNode>` `getChildren()` get Children nodes
`QueryNode` `getParent()`
`Object` `getTag(CharSequence tagName)` Deprecated. use `getTag(String)` instead
`Object` `getTag(String tagName)`
`Map<String,Object>` `getTagMap()` Returns a map containing all tags attached to this query node.
`Map<CharSequence,Object>` `getTags()` Deprecated. use `getTagMap()` instead
`protected boolean` `isDefaultField(CharSequence fld)` This method is use toQueryString to detect if fld is the default field
`boolean` `isLeaf()` verify if a node is a Leaf node
`protected boolean` `isRoot()`
`void` `set(List<QueryNode> children)`
`protected void` `setLeaf(boolean isLeaf)`
`void` `setTag(CharSequence tagName, Object value)` Deprecated. use `setTag(String, Object)` instead
`void` `setTag(String tagName, Object value)` Associate the specified value with the specified tagName.
`String` `toString()` Every implementation of this class should return pseudo xml like this: For FieldQueryNode:
`void` `unsetTag(CharSequence tagName)` Deprecated. use `unsetTag(String)`
`void` `unsetTag(String tagName)` Unset a tag.

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.apache.lucene.queryParser.core.nodes.QueryNode
`toQueryString`

Field Detail

### PLAINTEXT_FIELD_NAME

    public static final String PLAINTEXT_FIELD_NAME

See Also:
  Constant Field Values

### toQueryStringIgnoreFields

    protected boolean toQueryStringIgnoreFields

  If set to true the the method toQueryString will not write field names

Constructor Detail

### QueryNodeImpl

    public QueryNodeImpl()

Method Detail

### allocate

    protected void allocate()

### add

    public final void add(QueryNode child)

  Specified by:
    `add` in interface `QueryNode`

### add

    public final void add(List<QueryNode> children)

  Specified by:
    `add` in interface `QueryNode`

### isLeaf

    public boolean isLeaf()

  Description copied from interface: `QueryNode`
  verify if a node is a Leaf node

  Specified by:
    `isLeaf` in interface `QueryNode`

### set

    public final void set(List<QueryNode> children)

  Specified by:
    `set` in interface `QueryNode`

### 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`
  Returns:
    the cloned tree
  Throws:
    `CloneNotSupportedException`

### clone

    public Object clone()
                 throws CloneNotSupportedException

  Overrides:
    `clone` in class `Object`
  Throws:
    `CloneNotSupportedException`

### setLeaf

    protected void setLeaf(boolean isLeaf)

### getChildren

    public final List<QueryNode> getChildren()

  Description copied from interface: `QueryNode`
  get Children nodes

  Specified by:
    `getChildren` in interface `QueryNode`
  Returns:
    a List for QueryNode object. Returns null, for nodes that do not contain children. All leaf Nodes return null.

### setTag

    @Deprecated
    public void setTag(CharSequence tagName,
                                  Object value)

  Deprecated. use `setTag(String, Object)` instead

  Description copied from interface: `QueryNode`
  Associate the specified value with the specified tagName. If the tagName already exists, the old value is replaced. The tagName and value cannot be null. tagName will be converted to lowercase.

  Specified by:
    `setTag` in interface `QueryNode`

### setTag

    public void setTag(String tagName,
                       Object value)

  Description copied from interface: `QueryNode`
  Associate the specified value with the specified tagName. If the tagName already exists, the old value is replaced. The tagName and value cannot be null. tagName will be converted to lowercase.

  Specified by:
    `setTag` in interface `QueryNode`

### unsetTag

    public void unsetTag(String tagName)

  Description copied from interface: `QueryNode`
  Unset a tag. tagName will be converted to lowercase.

  Specified by:
    `unsetTag` in interface `QueryNode`

### unsetTag

    @Deprecated
    public void unsetTag(CharSequence tagName)

  Deprecated. use `unsetTag(String)`

  Description copied from interface: `QueryNode`
  Unset a tag. tagName will be converted to lowercase.

  Specified by:
    `unsetTag` in interface `QueryNode`

### containsTag

    @Deprecated
    public boolean containsTag(CharSequence tagName)

  Deprecated. use `containsTag(String)` instead

  verify if a node contains a tag

  Specified by:
    `containsTag` in interface `QueryNode`

### containsTag

    public boolean containsTag(String tagName)

  verify if a node contains a tag

  Specified by:
    `containsTag` in interface `QueryNode`

### getTag

    @Deprecated
    public Object getTag(CharSequence tagName)

  Deprecated. use `getTag(String)` instead

  Specified by:
    `getTag` in interface `QueryNode`
  Returns:
    of stored on under that tag name

### getTag

    public Object getTag(String tagName)

  Specified by:
    `getTag` in interface `QueryNode`
  Returns:
    of stored on under that tag name

### getParent

    public QueryNode getParent()

  Specified by:
    `getParent` in interface `QueryNode`

### isRoot

    protected boolean isRoot()

### isDefaultField

    protected boolean isDefaultField(CharSequence fld)

  This method is use toQueryString to detect if fld is the default field

  Parameters:
    `fld` - - field name
  Returns:
    true if fld is the default field

### toString

    public String toString()

  Every implementation of this class should return pseudo xml like this: For FieldQueryNode:

  Specified by:
    `toString` in interface `QueryNode`
  Overrides:
    `toString` in class `Object`
  See Also:
    `QueryNode.toString()`

### getTags

    @Deprecated
    public Map<CharSequence,Object> getTags()

  Deprecated. use `getTagMap()` instead

  Description copied from interface: `QueryNode`
  Returns a map containing all tags attached to this query node.

  Specified by:
    `getTags` in interface `QueryNode`
  Returns:
    a Map with all tags for this QueryNode
  See Also:
    `QueryNode.getTag(String)`

### getTagMap

    public Map<String,Object> getTagMap()

  Returns a map containing all tags attached to this query node.

  Specified by:
    `getTagMap` in interface `QueryNode`
  Returns:
    a map containing all tags attached to this query node