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

## Class PointQueryNodeProcessor

- java.lang.Object
- - org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorImpl
  - - org.apache.lucene.queryparser.flexible.standard.processors.PointQueryNodeProcessor

- All Implemented Interfaces:
    `QueryNodeProcessor`

      public class PointQueryNodeProcessor
      extends QueryNodeProcessorImpl

  This processor is used to convert `FieldQueryNode`s to `PointRangeQueryNode`s. It looks for `StandardQueryConfigHandler.ConfigurationKeys.POINTS_CONFIG` set in the `FieldConfig` of every `FieldQueryNode` found. If `StandardQueryConfigHandler.ConfigurationKeys.POINTS_CONFIG` is found, it considers that `FieldQueryNode` to be a numeric query and convert it to `PointRangeQueryNode` with upper and lower inclusive and lower and upper equals to the value represented by the `FieldQueryNode` converted to `Number`. It means that field:1 is converted to field:[1 TO 1].
  Note that `FieldQueryNode`s children of a `RangeQueryNode` are ignored.
  See Also:
    `StandardQueryConfigHandler.ConfigurationKeys.POINTS_CONFIG`, `FieldQueryNode`, `PointsConfig`, `PointQueryNode`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PointQueryNodeProcessor()` | Constructs a `PointQueryNodeProcessor` object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected QueryNode` | `postProcessNode​(QueryNode node)` | This method is invoked for every node when walking up the tree.
    `protected QueryNode` | `preProcessNode​(QueryNode node)` | This method is invoked for every node when walking down the tree.
    `protected List<QueryNode>` | `setChildrenOrder​(List<QueryNode> children)` | This method is invoked for every node that has at least on child.

    - ### Methods inherited from class org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorImpl

      `getQueryConfigHandler, process, processChildren, setQueryConfigHandler`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PointQueryNodeProcessor

          public PointQueryNodeProcessor()

      Constructs a `PointQueryNodeProcessor` object.

  - ### Method Detail

    - #### postProcessNode

          protected QueryNode postProcessNode​(QueryNode node)
                                       throws QueryNodeException

      Description copied from class: `QueryNodeProcessorImpl`
      This method is invoked for every node when walking up the tree.
      Specified by:
        `postProcessNode` in class `QueryNodeProcessorImpl`
      Parameters:
        `node` - node the query node to be post-processed
      Returns:
        a query node
      Throws:
        `QueryNodeException` - if something goes wrong during the query node processing

    - #### preProcessNode

          protected QueryNode preProcessNode​(QueryNode node)
                                      throws QueryNodeException

      Description copied from class: `QueryNodeProcessorImpl`
      This method is invoked for every node when walking down the tree.
      Specified by:
        `preProcessNode` in class `QueryNodeProcessorImpl`
      Parameters:
        `node` - the query node to be pre-processed
      Returns:
        a query node
      Throws:
        `QueryNodeException` - if something goes wrong during the query node processing

    - #### setChildrenOrder

          protected List<QueryNode> setChildrenOrder​(List<QueryNode> children)
                                              throws QueryNodeException

      Description copied from class: `QueryNodeProcessorImpl`
      This method is invoked for every node that has at least on child. It's invoked right before `QueryNodeProcessorImpl.postProcessNode(QueryNode)` is invoked.
      Specified by:
        `setChildrenOrder` in class `QueryNodeProcessorImpl`
      Parameters:
        `children` - the list containing all current node's children
      Returns:
        a new list containing all children that should be set to the current node
      Throws:
        `QueryNodeException` - if something goes wrong during the query node processing