Package net.sf.jasperreports.engine.xml
Class BaseSaxParserFactory
- java.lang.Object
-
- net.sf.jasperreports.engine.xml.BaseSaxParserFactory
-
- All Implemented Interfaces:
JRSaxParserFactory
- Direct Known Subclasses:
JRReportSaxParserFactory,PrintSaxParserFactory,TemplateSaxParserFactory
public abstract class BaseSaxParserFactory extends java.lang.Object implements JRSaxParserFactory
Base SAX parser factory.This factory creates a parser via the default SAX parser factory (
javax.xml.parsers.SAXParserFactory.newInstance()).To improve performance, XML schemas can be cached when using a Xerces SAX parser. See
PROPERTY_CACHE_SCHEMAS.- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringEXCEPTION_MESSAGE_KEY_INCOMPATIBLE_CLASSstatic java.lang.StringEXCEPTION_MESSAGE_KEY_PARSER_CREATION_ERRORstatic java.lang.StringEXCEPTION_MESSAGE_KEY_RESOURCE_NOT_FOUNDprotected JasperReportsContextjasperReportsContextprotected static java.lang.StringPACKAGE_PREFIX_SUN_XERCESprotected static java.lang.StringPACKAGE_PREFIX_XERCESprotected static java.lang.StringPOOL_CLASS_SUN_XERCESprotected static java.lang.StringPOOL_CLASS_XERCESstatic java.lang.StringPROPERTY_CACHE_SCHEMASA property that determines whether XML schemas/grammars are to be cached so that they are not read/initialized each time a report is compiled.protected static java.lang.StringXERCES_PARSER_PROPERTY_GRAMMAR_POOL-
Fields inherited from interface net.sf.jasperreports.engine.xml.JRSaxParserFactory
PROPERTY_PRINT_PARSER_FACTORY, PROPERTY_REPORT_PARSER_FACTORY, PROPERTY_TEMPLATE_PARSER_FACTORY
-
-
Constructor Summary
Constructors Constructor Description BaseSaxParserFactory(JasperReportsContext jasperReportsContext)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidconfigureParser(javax.xml.parsers.SAXParser parser)javax.xml.parsers.SAXParsercreateParser()Creates a SAX parser.protected javax.xml.parsers.SAXParserFactorycreateSAXParserFactory()protected voidenableSchemaCaching(javax.xml.parsers.SAXParser parser)static JRSaxParserFactorygetFactory(JasperReportsContext jasperReportsContext, java.lang.String className)protected abstract java.lang.ThreadLocal<org.apache.commons.collections4.map.ReferenceMap<java.lang.Object,java.lang.Object>>getGrammarPoolCache()protected java.lang.ObjectgetGrammarPoolCacheKey()protected java.lang.StringgetResourceURI(java.lang.String resource)protected abstract java.util.List<java.lang.String>getSchemaLocations()protected abstract booleanisValidating()protected voidsetGrammarPoolProperty(javax.xml.parsers.SAXParser parser, java.lang.String poolClassName)
-
-
-
Field Detail
-
EXCEPTION_MESSAGE_KEY_INCOMPATIBLE_CLASS
public static final java.lang.String EXCEPTION_MESSAGE_KEY_INCOMPATIBLE_CLASS
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_PARSER_CREATION_ERROR
public static final java.lang.String EXCEPTION_MESSAGE_KEY_PARSER_CREATION_ERROR
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_RESOURCE_NOT_FOUND
public static final java.lang.String EXCEPTION_MESSAGE_KEY_RESOURCE_NOT_FOUND
- See Also:
- Constant Field Values
-
PROPERTY_CACHE_SCHEMAS
public static final java.lang.String PROPERTY_CACHE_SCHEMAS
A property that determines whether XML schemas/grammars are to be cached so that they are not read/initialized each time a report is compiled.Currently, setting this property is only effective when a Xerces XML parser is used (either a stock one from Apache or one embedded into a SUN JDK).
- See Also:
- Constant Field Values
-
PACKAGE_PREFIX_XERCES
protected static final java.lang.String PACKAGE_PREFIX_XERCES
- See Also:
- Constant Field Values
-
POOL_CLASS_XERCES
protected static final java.lang.String POOL_CLASS_XERCES
- See Also:
- Constant Field Values
-
PACKAGE_PREFIX_SUN_XERCES
protected static final java.lang.String PACKAGE_PREFIX_SUN_XERCES
- See Also:
- Constant Field Values
-
POOL_CLASS_SUN_XERCES
protected static final java.lang.String POOL_CLASS_SUN_XERCES
- See Also:
- Constant Field Values
-
XERCES_PARSER_PROPERTY_GRAMMAR_POOL
protected static final java.lang.String XERCES_PARSER_PROPERTY_GRAMMAR_POOL
- See Also:
- Constant Field Values
-
jasperReportsContext
protected final JasperReportsContext jasperReportsContext
-
-
Constructor Detail
-
BaseSaxParserFactory
public BaseSaxParserFactory(JasperReportsContext jasperReportsContext)
-
-
Method Detail
-
createParser
public javax.xml.parsers.SAXParser createParser()
Description copied from interface:JRSaxParserFactoryCreates a SAX parser.- Specified by:
createParserin interfaceJRSaxParserFactory- Returns:
- the created parser
-
createSAXParserFactory
protected javax.xml.parsers.SAXParserFactory createSAXParserFactory() throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException- Throws:
javax.xml.parsers.ParserConfigurationExceptionorg.xml.sax.SAXException
-
isValidating
protected abstract boolean isValidating()
-
configureParser
protected void configureParser(javax.xml.parsers.SAXParser parser) throws org.xml.sax.SAXException- Throws:
org.xml.sax.SAXException
-
getSchemaLocations
protected abstract java.util.List<java.lang.String> getSchemaLocations()
-
getResourceURI
protected java.lang.String getResourceURI(java.lang.String resource)
-
enableSchemaCaching
protected void enableSchemaCaching(javax.xml.parsers.SAXParser parser)
-
getGrammarPoolCache
protected abstract java.lang.ThreadLocal<org.apache.commons.collections4.map.ReferenceMap<java.lang.Object,java.lang.Object>> getGrammarPoolCache()
-
setGrammarPoolProperty
protected void setGrammarPoolProperty(javax.xml.parsers.SAXParser parser, java.lang.String poolClassName)
-
getGrammarPoolCacheKey
protected java.lang.Object getGrammarPoolCacheKey()
-
getFactory
public static JRSaxParserFactory getFactory(JasperReportsContext jasperReportsContext, java.lang.String className)
-
-