org.apache.xerces.parsers
Class CachingParserPool.ShadowedGrammarPool

java.lang.Object
  extended by org.apache.xerces.util.XMLGrammarPoolImpl
      extended by org.apache.xerces.parsers.CachingParserPool.ShadowedGrammarPool
All Implemented Interfaces:
XMLGrammarPool
Enclosing class:
CachingParserPool

public static final class CachingParserPool.ShadowedGrammarPool
extends XMLGrammarPoolImpl

Shadowed grammar pool. This class is predicated on the existence of a concrete implementation; so using our own doesn't seem to bad an idea.

Author:
Andy Clark, IBM, Neil Graham, IBM

Constructor Summary
CachingParserPool.ShadowedGrammarPool(XMLGrammarPool grammarPool)
          Constructs a shadowed grammar pool.
 
Method Summary
 void cacheGrammars(java.lang.String grammarType, Grammar[] grammars)
          Give the grammarPool the option of caching these grammars.
 boolean containsGrammar(XMLGrammarDescription desc)
          Returns true if the grammar pool contains a grammar associated to the specified description.
 Grammar getGrammar(XMLGrammarDescription desc)
          Returns the grammar associated to the specified description.
 Grammar retrieveGrammar(XMLGrammarDescription gDesc)
          Retrieve a particular grammar.
 Grammar[] retrieveInitialGrammarSet(java.lang.String grammarType)
          Retrieve the initial set of grammars for the validator to work with.
 
Methods inherited from class org.apache.xerces.util.XMLGrammarPoolImpl
clear, equals, hashCode, lockPool, putGrammar, removeGrammar, unlockPool
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CachingParserPool.ShadowedGrammarPool

public CachingParserPool.ShadowedGrammarPool(XMLGrammarPool grammarPool)
Constructs a shadowed grammar pool.

Method Detail

retrieveInitialGrammarSet

public Grammar[] retrieveInitialGrammarSet(java.lang.String grammarType)
Retrieve the initial set of grammars for the validator to work with. REVISIT: does this need to be synchronized since it's just reading?

Specified by:
retrieveInitialGrammarSet in interface XMLGrammarPool
Overrides:
retrieveInitialGrammarSet in class XMLGrammarPoolImpl
Parameters:
grammarType - Type of the grammars to be retrieved.
Returns:
The initial grammar set the validator may place in its "bucket"

retrieveGrammar

public Grammar retrieveGrammar(XMLGrammarDescription gDesc)
Retrieve a particular grammar. REVISIT: does this need to be synchronized since it's just reading?

Specified by:
retrieveGrammar in interface XMLGrammarPool
Overrides:
retrieveGrammar in class XMLGrammarPoolImpl
Parameters:
gDesc - Description of the grammar to be retrieved
Returns:
Grammar corresponding to gDesc, or null if none exists.

cacheGrammars

public void cacheGrammars(java.lang.String grammarType,
                          Grammar[] grammars)
Give the grammarPool the option of caching these grammars. This certainly must be synchronized.

Specified by:
cacheGrammars in interface XMLGrammarPool
Overrides:
cacheGrammars in class XMLGrammarPoolImpl
Parameters:
grammarType - The type of the grammars to be cached.
grammars - The Grammars that may be cached (unordered, Grammars previously given to the validator may be included).

getGrammar

public Grammar getGrammar(XMLGrammarDescription desc)
Returns the grammar associated to the specified description.

Overrides:
getGrammar in class XMLGrammarPoolImpl
Parameters:
desc - The description of the grammar.

containsGrammar

public boolean containsGrammar(XMLGrammarDescription desc)
Returns true if the grammar pool contains a grammar associated to the specified description.

Overrides:
containsGrammar in class XMLGrammarPoolImpl
Parameters:
desc - The description of the grammar.