Package org.apache.lucene.queryparser.flexible.standard.nodes

# Class PrefixWildcardQueryNode

java.lang.Object
org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl
org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode
org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode
org.apache.lucene.queryparser.flexible.standard.nodes.PrefixWildcardQueryNode

All Implemented Interfaces:
  `Cloneable`, `FieldableNode`, `FieldValuePairQueryNode<CharSequence>`, `QueryNode`, `TextableQueryNode`, `ValueQueryNode<CharSequence>`

public class PrefixWildcardQueryNode extends WildcardQueryNode
A `PrefixWildcardQueryNode` represents wildcardquery that matches abc* or *. This does not apply to phrases, this is a special case on the original lucene parser. TODO: refactor the code to remove this special case from the parser. and probably do it on a Processor

- ## Field Summary

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

  `begin, end, field, positionIncrement, text`

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

  `PLAINTEXT_FIELD_NAME, toQueryStringIgnoreFields`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PrefixWildcardQueryNode(CharSequence field, CharSequence text, int begin, int end)`
  `PrefixWildcardQueryNode(FieldQueryNode fqn)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `PrefixWildcardQueryNode`
  `cloneTree()`
  Recursive clone the QueryNode tree.
  `String`
  `toString()`
  Every implementation of this class should return pseudo xml like this:

  ### Methods inherited from class org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode

  `toQueryString`

  ### Methods inherited from class org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode

  `getBegin, getEnd, getField, getFieldAsString, getPositionIncrement, getTermEscaped, getTermEscapeQuoted, getText, getTextAsString, getValue, setBegin, setEnd, setField, setPositionIncrement, setText, setValue`

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

- ## Constructor Details

  - ### PrefixWildcardQueryNode

    public PrefixWildcardQueryNode(CharSequence field, CharSequence text, int begin, int end)
    Parameters:
      `field` - - field name
      `text` - - value including the wildcard
      `begin` - - position in the query string
      `end` - - position in the query string

  - ### PrefixWildcardQueryNode

    public PrefixWildcardQueryNode(FieldQueryNode fqn)

- ## Method Details

  - ### 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 `WildcardQueryNode`
    See Also:
      - `QueryNode.toString()`

  - ### cloneTree

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