BEA Systems, Inc.

WebLogic Server 8.1 API Reference

weblogic.apache.xerces.util
Class XMLGrammarPoolImpl

java.lang.Object
  |
  +--weblogic.apache.xerces.util.XMLGrammarPoolImpl
Direct Known Subclasses:
CachingParserPool.ShadowedGrammarPool

public class XMLGrammarPoolImpl
extends java.lang.Object
implements XMLGrammarPool

Stores grammars in a pool associated to a specific key. This grammar pool implementation stores two types of grammars: those keyed by the root element name, and those keyed by the grammar's target namespace. This is the default implementation of the GrammarPool interface. As we move forward, this will become more function-rich and robust.


Inner Class Summary
protected static class XMLGrammarPoolImpl.Entry
          This class is a grammar pool entry.
 
Field Summary
protected  XMLGrammarPoolImpl.Entry[] fGrammars
          Grammars.
protected  boolean fPoolIsLocked
           
protected static int TABLE_SIZE
          Default size.
 
Constructor Summary
XMLGrammarPoolImpl()
          Constructs a grammar pool with a default number of buckets.
XMLGrammarPoolImpl(int initialCapacity)
          Constructs a grammar pool with a specified number of buckets.
 
Method Summary
 void cacheGrammars(java.lang.String grammarType, Grammar[] grammars)
           
 void clear()
           
 boolean containsGrammar(XMLGrammarDescription desc)
          Returns true if the grammar pool contains a grammar associated to the specified grammar description.
 boolean equals(XMLGrammarDescription desc1, XMLGrammarDescription desc2)
          This method checks whether two grammars are the same.
 Grammar getGrammar(XMLGrammarDescription desc)
          Returns the grammar associated to the specified grammar description.
 int hashCode(XMLGrammarDescription desc)
          Returns the hash code value for the given grammar description.
 void lockPool()
           
 void putGrammar(Grammar grammar)
          Puts the specified grammar into the grammar pool and associates it to its root element name or its target namespace.
 Grammar removeGrammar(XMLGrammarDescription desc)
          Removes the grammar associated to the specified grammar description from the grammar pool and returns the removed grammar.
 Grammar retrieveGrammar(XMLGrammarDescription desc)
           
 Grammar[] retrieveInitialGrammarSet(java.lang.String grammarType)
           
 void unlockPool()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TABLE_SIZE

protected static final int TABLE_SIZE
Default size.

fGrammars

protected XMLGrammarPoolImpl.Entry[] fGrammars
Grammars.

fPoolIsLocked

protected boolean fPoolIsLocked
Constructor Detail

XMLGrammarPoolImpl

public XMLGrammarPoolImpl()
Constructs a grammar pool with a default number of buckets.

XMLGrammarPoolImpl

public XMLGrammarPoolImpl(int initialCapacity)
Constructs a grammar pool with a specified number of buckets.
Method Detail

retrieveInitialGrammarSet

public Grammar[] retrieveInitialGrammarSet(java.lang.String grammarType)
Specified by:
retrieveInitialGrammarSet in interface XMLGrammarPool


cacheGrammars

public void cacheGrammars(java.lang.String grammarType,
                          Grammar[] grammars)
Specified by:
cacheGrammars in interface XMLGrammarPool


retrieveGrammar

public Grammar retrieveGrammar(XMLGrammarDescription desc)
Specified by:
retrieveGrammar in interface XMLGrammarPool


putGrammar

public void putGrammar(Grammar grammar)
Puts the specified grammar into the grammar pool and associates it to its root element name or its target namespace.

Parameters:
grammar - The Grammar.

getGrammar

public Grammar getGrammar(XMLGrammarDescription desc)
Returns the grammar associated to the specified grammar description. Currently, the root element name is used as the key for DTD grammars and the target namespace is used as the key for Schema grammars.

Parameters:
desc - The Grammar Description.

removeGrammar

public Grammar removeGrammar(XMLGrammarDescription desc)
Removes the grammar associated to the specified grammar description from the grammar pool and returns the removed grammar. Currently, the root element name is used as the key for DTD grammars and the target namespace is used as the key for Schema grammars.

Parameters:
desc - The Grammar Description.
Returns:
The removed grammar.

containsGrammar

public boolean containsGrammar(XMLGrammarDescription desc)
Returns true if the grammar pool contains a grammar associated to the specified grammar description. Currently, the root element name is used as the key for DTD grammars and the target namespace is used as the key for Schema grammars.

Parameters:
desc - The Grammar Description.

lockPool

public void lockPool()
Specified by:
lockPool in interface XMLGrammarPool


unlockPool

public void unlockPool()
Specified by:
unlockPool in interface XMLGrammarPool


clear

public void clear()
Specified by:
clear in interface XMLGrammarPool


equals

public boolean equals(XMLGrammarDescription desc1,
                      XMLGrammarDescription desc2)
This method checks whether two grammars are the same. Currently, we compare the root element names for DTD grammars and the target namespaces for Schema grammars. The application can override this behaviour and add its own logic.

Parameters:
gDesc1 - The grammar description
gDesc2 - The grammar description of the grammar to be compared to
Returns:
True if the grammars are equal, otherwise false

hashCode

public int hashCode(XMLGrammarDescription desc)
Returns the hash code value for the given grammar description.

Parameters:
desc - The grammar description
Returns:
The hash code value

Documentation is available at
http://download.oracle.com/docs/cd/E13222_01/wls/docs81b