ParserExtension (Lucene 10.5.0 queryparser API)
Description: declaration: package: org.apache.lucene.queryparser.ext, class: ParserExtension

Package org.apache.lucene.queryparser.ext

# Class ParserExtension

java.lang.Object
org.apache.lucene.queryparser.ext.ParserExtension

public abstract class ParserExtension extends Object
This class represents an extension base class to the Lucene standard `QueryParser`. The `QueryParser` is generated by the JavaCC parser generator. Changing or adding functionality or syntax in the standard query parser requires changes to the JavaCC source file. To enable extending the standard query parser without changing the JavaCC sources and re-generate the parser the `ParserExtension` can be customized and plugged into an instance of `ExtendableQueryParser`, a direct subclass of `QueryParser`.

See Also:
  - `Extensions`
  - `ExtendableQueryParser`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ParserExtension()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract Query`
  `parse(ExtensionQuery query)`
  Processes the given `ExtensionQuery` and returns a corresponding `Query` instance.

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

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

- ## Constructor Details

  - ### ParserExtension

    public ParserExtension()

- ## Method Details

  - ### parse

    public abstract Query parse(ExtensionQuery query) throws ParseException
    Processes the given `ExtensionQuery` and returns a corresponding `Query` instance. Subclasses must either return a `Query` instance or raise a `ParseException`. This method must not return `null`.
    Parameters:
      `query` - the extension query
    Returns:
      a new query instance
    Throws:
      `ParseException` - if the query can not be parsed.