java.lang.Object
org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl
All Implemented Interfaces:
Cloneable, QueryNode
Direct Known Subclasses:
AbstractRangeQueryNode, BooleanQueryNode, BoostQueryNode, DeletedQueryNode, FieldQueryNode, GroupQueryNode, MatchAllDocsQueryNode, ModifierQueryNode, MultiPhraseQueryNode, NumericQueryNode, OpaqueQueryNode, PathQueryNode, PhraseSlopQueryNode, RegexpQueryNode, SlopQueryNode, TokenizedPhraseQueryNode

public abstract class QueryNodeImpl extends Object implements QueryNode, Cloneable
A QueryNodeImpl is the default implementation of the interface QueryNode
  • Field Details

  • Constructor Details

    • QueryNodeImpl

      public QueryNodeImpl()
  • Method Details

    • 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 QueryNode clone() throws CloneNotSupportedException
      Throws:
      CloneNotSupportedException
    • 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

      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
    • containsTag

      public boolean containsTag(String tagName)
      verify if a node contains a tag
      Specified by:
      containsTag in interface QueryNode
    • getTag

      public Object getTag(String tagName)
      Description copied from interface: QueryNode
      Returns object stored under that tag name
      Specified by:
      getTag in interface QueryNode
    • getParent

      public QueryNode getParent()
      Specified by:
      getParent in interface QueryNode
    • toString

      public String toString()
      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 Object
      See Also:
    • 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
    • removeFromParent

      public void removeFromParent()
      Description copied from interface: QueryNode
      Removes this query node from its parent.
      Specified by:
      removeFromParent in interface QueryNode