public class CoreParser extends java.lang.Object implements QueryBuilder
Modifier and Type | Field and Description |
---|---|
protected Analyzer |
analyzer |
static org.xml.sax.EntityResolver |
DISALLOW_EXTERNAL_ENTITY_RESOLVER |
protected FilterBuilderFactory |
filterFactory |
static int |
maxNumCachedFilters |
protected QueryParser |
parser |
protected QueryBuilderFactory |
queryFactory |
Modifier | Constructor and Description |
---|---|
|
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
|
|
CoreParser(java.lang.String defaultField,
Analyzer analyzer)
Constructs an XML parser that creates a QueryParser for each UserQuery request.
|
protected |
CoreParser(java.lang.String defaultField,
Analyzer analyzer,
QueryParser parser) |
Modifier and Type | Method and Description |
---|---|
void |
addFilterBuilder(java.lang.String nodeName,
FilterBuilder builder) |
void |
addQueryBuilder(java.lang.String nodeName,
QueryBuilder builder) |
protected org.xml.sax.EntityResolver |
getEntityResolver()
Returns a SAX
EntityResolver to be used by DocumentBuilder . |
protected org.xml.sax.ErrorHandler |
getErrorHandler()
Subclass and override to return a SAX
ErrorHandler to be used by DocumentBuilder . |
Query |
getQuery(org.w3c.dom.Element e) |
Query |
parse(java.io.InputStream xmlStream)
Parses the given stream as XML file and returns a
Query . |
protected Analyzer analyzer
protected QueryParser parser
protected QueryBuilderFactory queryFactory
protected FilterBuilderFactory filterFactory
public static int maxNumCachedFilters
public static final org.xml.sax.EntityResolver DISALLOW_EXTERNAL_ENTITY_RESOLVER
public CoreParser(Analyzer analyzer, QueryParser parser)
analyzer
- parser
- A QueryParser which will be synchronized on during parse calls.public CoreParser(java.lang.String defaultField, Analyzer analyzer)
defaultField
- The default field name used by QueryParsers constructed for UserQuery tagsanalyzer
- protected CoreParser(java.lang.String defaultField, Analyzer analyzer, QueryParser parser)
public Query parse(java.io.InputStream xmlStream) throws ParserException
Query
.
By default this disallows external entities for security reasons.ParserException
public void addQueryBuilder(java.lang.String nodeName, QueryBuilder builder)
public void addFilterBuilder(java.lang.String nodeName, FilterBuilder builder)
protected org.xml.sax.EntityResolver getEntityResolver()
EntityResolver
to be used by DocumentBuilder
.
By default this returns DISALLOW_EXTERNAL_ENTITY_RESOLVER
, which disallows the
expansion of external entities (for security reasons). To restore legacy behavior,
override this method to return null
.protected org.xml.sax.ErrorHandler getErrorHandler()
ErrorHandler
to be used by DocumentBuilder
.
By default this returns null
so no error handler is used.
This method can be used to redirect XML parse errors/warnings to a custom logger.public Query getQuery(org.w3c.dom.Element e) throws ParserException
getQuery
in interface QueryBuilder
ParserException
Copyright © 2000-2024 Apache Software Foundation. All Rights Reserved.