org.apache.xerces.parsers
Class XMLGrammarCachingConfiguration

java.lang.Object
  extended by org.apache.xerces.util.ParserConfigurationSettings
      extended by org.apache.xerces.parsers.XML11Configuration
          extended by org.apache.xerces.parsers.XIncludeAwareParserConfiguration
              extended by org.apache.xerces.parsers.XMLGrammarCachingConfiguration
All Implemented Interfaces:
XML11Configurable, XMLComponentManager, XMLParserConfiguration, XMLPullParserConfiguration

public class XMLGrammarCachingConfiguration
extends XIncludeAwareParserConfiguration

This configuration provides a generic way of using Xerces's grammar caching facilities. It extends the XIncludeAwareParserConfiguration and thus may validate documents according to XML schemas or DTD's. It also allows the user to preparse a grammar, and to lock the grammar pool implementation such that no more grammars will be added.

Using the org.apache.xerces.xni.parser property, an application may instantiate a Xerces SAX or DOM parser with this configuration. When invoked in this manner, the default behaviour will be elicited; to use this configuration's specific facilities, the user will need to reference it directly.

In addition to the features and properties recognized by the base parser configuration, this class recognizes these additional features and properties:

Version:
$Id: XMLGrammarCachingConfiguration.java 447239 2006-09-18 05:08:26Z mrglavas $
Author:
Neil Graham, IBM

Field Summary
static int BIG_PRIME
           
 
Constructor Summary
XMLGrammarCachingConfiguration()
          Default constructor.
XMLGrammarCachingConfiguration(SymbolTable symbolTable)
          Constructs a parser configuration using the specified symbol table.
XMLGrammarCachingConfiguration(SymbolTable symbolTable, XMLGrammarPool grammarPool)
          Constructs a parser configuration using the specified symbol table and grammar pool.
XMLGrammarCachingConfiguration(SymbolTable symbolTable, XMLGrammarPool grammarPool, XMLComponentManager parentSettings)
          Constructs a parser configuration using the specified symbol table, grammar pool, and parent settings.
 
Method Summary
 void clearGrammarPool()
           
 void lockGrammarPool()
           
 Grammar parseGrammar(java.lang.String type, java.lang.String uri)
          Parse a grammar from a location identified by an URI.
 Grammar parseGrammar(java.lang.String type, XMLInputSource is)
          Parse a grammar from a location identified by an XMLInputSource.
 void unlockGrammarPool()
           
 
Methods inherited from class org.apache.xerces.parsers.XIncludeAwareParserConfiguration
getFeature, setFeature
 
Methods inherited from class org.apache.xerces.parsers.XML11Configuration
cleanup, getDocumentHandler, getDTDContentModelHandler, getDTDHandler, getEntityResolver, getErrorHandler, getLocale, parse, parse, setDocumentHandler, setDTDContentModelHandler, setDTDHandler, setEntityResolver, setErrorHandler, setInputSource, setLocale, setProperty
 
Methods inherited from class org.apache.xerces.util.ParserConfigurationSettings
addRecognizedFeatures, addRecognizedProperties, getProperty
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.xerces.xni.parser.XMLParserConfiguration
addRecognizedFeatures, addRecognizedProperties, getProperty
 

Field Detail

BIG_PRIME

public static final int BIG_PRIME
See Also:
Constant Field Values
Constructor Detail

XMLGrammarCachingConfiguration

public XMLGrammarCachingConfiguration()
Default constructor.


XMLGrammarCachingConfiguration

public XMLGrammarCachingConfiguration(SymbolTable symbolTable)
Constructs a parser configuration using the specified symbol table.

Parameters:
symbolTable - The symbol table to use.

XMLGrammarCachingConfiguration

public XMLGrammarCachingConfiguration(SymbolTable symbolTable,
                                      XMLGrammarPool grammarPool)
Constructs a parser configuration using the specified symbol table and grammar pool.

REVISIT: Grammar pool will be updated when the new validation engine is implemented.

Parameters:
symbolTable - The symbol table to use.
grammarPool - The grammar pool to use.

XMLGrammarCachingConfiguration

public XMLGrammarCachingConfiguration(SymbolTable symbolTable,
                                      XMLGrammarPool grammarPool,
                                      XMLComponentManager parentSettings)
Constructs a parser configuration using the specified symbol table, grammar pool, and parent settings.

REVISIT: Grammar pool will be updated when the new validation engine is implemented.

Parameters:
symbolTable - The symbol table to use.
grammarPool - The grammar pool to use.
parentSettings - The parent settings.
Method Detail

lockGrammarPool

public void lockGrammarPool()

clearGrammarPool

public void clearGrammarPool()

unlockGrammarPool

public void unlockGrammarPool()

parseGrammar

public Grammar parseGrammar(java.lang.String type,
                            java.lang.String uri)
                     throws XNIException,
                            java.io.IOException
Parse a grammar from a location identified by an URI. This method also adds this grammar to the XMLGrammarPool

Parameters:
type - The type of the grammar to be constructed
uri - The location of the grammar to be constructed. The parser will not expand this URI or make it available to the EntityResolver
Returns:
The newly created Grammar.
Throws:
XNIException - thrown on an error in grammar construction
java.io.IOException - thrown if an error is encountered in reading the file

parseGrammar

public Grammar parseGrammar(java.lang.String type,
                            XMLInputSource is)
                     throws XNIException,
                            java.io.IOException
Parse a grammar from a location identified by an XMLInputSource. This method also adds this grammar to the XMLGrammarPool

Parameters:
type - The type of the grammar to be constructed
is - The XMLInputSource containing this grammar's information If a URI is included in the systemId field, the parser will not expand this URI or make it available to the EntityResolver
Returns:
The newly created Grammar.
Throws:
XNIException - thrown on an error in grammar construction
java.io.IOException - thrown if an error is encountered in reading the file