Class CoreParser
- java.lang.Object
-
- org.apache.lucene.queryparser.xml.CoreParser
-
- All Implemented Interfaces:
SpanQueryBuilder,QueryBuilder
- Direct Known Subclasses:
CorePlusQueriesParser
public class CoreParser extends java.lang.Object implements QueryBuilder, SpanQueryBuilder
Assembles a QueryBuilder which uses only core Lucene Query objects
-
-
Field Summary
Fields Modifier and Type Field Description protected Analyzeranalyzerprotected java.lang.StringdefaultFieldstatic org.xml.sax.EntityResolverDISALLOW_EXTERNAL_ENTITY_RESOLVERprotected QueryParserparserprotected QueryBuilderFactoryqueryFactoryprotected SpanQueryBuilderFactoryspanFactory
-
Constructor Summary
Constructors Modifier Constructor Description CoreParser(java.lang.String defaultField, Analyzer analyzer)Constructs an XML parser that creates a QueryParser for each UserQuery request.protectedCoreParser(java.lang.String defaultField, Analyzer analyzer, QueryParser parser)CoreParser(Analyzer analyzer, QueryParser parser)Construct an XML parser that uses a single instance QueryParser for handling UserQuery tags - all parse operations are synchronised on this parser
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddQueryBuilder(java.lang.String nodeName, QueryBuilder builder)voidaddSpanBuilder(java.lang.String nodeName, SpanQueryBuilder builder)voidaddSpanQueryBuilder(java.lang.String nodeName, SpanQueryBuilder builder)protected org.xml.sax.EntityResolvergetEntityResolver()Returns a SAXEntityResolverto be used byDocumentBuilder.protected org.xml.sax.ErrorHandlergetErrorHandler()Subclass and override to return a SAXErrorHandlerto be used byDocumentBuilder.QuerygetQuery(org.w3c.dom.Element e)SpanQuerygetSpanQuery(org.w3c.dom.Element e)Queryparse(java.io.InputStream xmlStream)Parses the given stream as XML file and returns aQuery.(package private) SpanQueryparseAsSpanQuery(java.io.InputStream xmlStream)private org.w3c.dom.DocumentparseXML(java.io.InputStream pXmlFile)
-
-
-
Field Detail
-
defaultField
protected java.lang.String defaultField
-
analyzer
protected Analyzer analyzer
-
parser
protected QueryParser parser
-
queryFactory
protected QueryBuilderFactory queryFactory
-
spanFactory
protected final SpanQueryBuilderFactory spanFactory
-
DISALLOW_EXTERNAL_ENTITY_RESOLVER
public static final org.xml.sax.EntityResolver DISALLOW_EXTERNAL_ENTITY_RESOLVER
-
-
Constructor Detail
-
CoreParser
public CoreParser(Analyzer analyzer, QueryParser parser)
Construct an XML parser that uses a single instance QueryParser for handling UserQuery tags - all parse operations are synchronised on this parser- Parameters:
parser- A QueryParser which will be synchronized on during parse calls.
-
CoreParser
public CoreParser(java.lang.String defaultField, Analyzer analyzer)Constructs an XML parser that creates a QueryParser for each UserQuery request.- Parameters:
defaultField- The default field name used by QueryParsers constructed for UserQuery tags
-
CoreParser
protected CoreParser(java.lang.String defaultField, Analyzer analyzer, QueryParser parser)
-
-
Method Detail
-
parse
public Query parse(java.io.InputStream xmlStream) throws ParserException
Parses the given stream as XML file and returns aQuery. By default this disallows external entities for security reasons.- Throws:
ParserException
-
parseAsSpanQuery
SpanQuery parseAsSpanQuery(java.io.InputStream xmlStream) throws ParserException
- Throws:
ParserException
-
addQueryBuilder
public void addQueryBuilder(java.lang.String nodeName, QueryBuilder builder)
-
addSpanBuilder
public void addSpanBuilder(java.lang.String nodeName, SpanQueryBuilder builder)
-
addSpanQueryBuilder
public void addSpanQueryBuilder(java.lang.String nodeName, SpanQueryBuilder builder)
-
getEntityResolver
protected org.xml.sax.EntityResolver getEntityResolver()
Returns a SAXEntityResolverto be used byDocumentBuilder. By default this returnsDISALLOW_EXTERNAL_ENTITY_RESOLVER, which disallows the expansion of external entities (for security reasons). To restore legacy behavior, override this method to returnnull.
-
getErrorHandler
protected org.xml.sax.ErrorHandler getErrorHandler()
Subclass and override to return a SAXErrorHandlerto be used byDocumentBuilder. By default this returnsnullso no error handler is used. This method can be used to redirect XML parse errors/warnings to a custom logger.
-
parseXML
private org.w3c.dom.Document parseXML(java.io.InputStream pXmlFile) throws ParserException- Throws:
ParserException
-
getQuery
public Query getQuery(org.w3c.dom.Element e) throws ParserException
- Specified by:
getQueryin interfaceQueryBuilder- Throws:
ParserException
-
getSpanQuery
public SpanQuery getSpanQuery(org.w3c.dom.Element e) throws ParserException
- Specified by:
getSpanQueryin interfaceSpanQueryBuilder- Throws:
ParserException
-
-