|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.xerces.util.XMLGrammarPoolImpl
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 int |
fGrammarCount
|
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,
org.apache.xerces.xni.grammars.Grammar[] grammars)
return the final set of grammars that the validator ended up with. |
void |
clear()
Removes all grammars from the pool. |
boolean |
containsGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)
Returns true if the grammar pool contains a grammar associated to the specified grammar description. |
boolean |
equals(org.apache.xerces.xni.grammars.XMLGrammarDescription desc1,
org.apache.xerces.xni.grammars.XMLGrammarDescription desc2)
This method checks whether two grammars are the same. |
org.apache.xerces.xni.grammars.Grammar |
getGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)
Returns the grammar associated to the specified grammar description. |
int |
hashCode(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)
Returns the hash code value for the given grammar description. |
void |
lockPool()
Causes the XMLGrammarPool not to store any grammars when the cacheGrammars(String, Grammar[[]) method is called. |
void |
putGrammar(org.apache.xerces.xni.grammars.Grammar grammar)
Puts the specified grammar into the grammar pool and associates it to its root element name or its target namespace. |
org.apache.xerces.xni.grammars.Grammar |
removeGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)
Removes the grammar associated to the specified grammar description from the grammar pool and returns the removed grammar. |
org.apache.xerces.xni.grammars.Grammar |
retrieveGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)
This method requests that the application retrieve a grammar corresponding to the given GrammarIdentifier from its cache. |
org.apache.xerces.xni.grammars.Grammar[] |
retrieveInitialGrammarSet(java.lang.String grammarType)
retrieve the initial known set of grammars. |
void |
unlockPool()
Allows the XMLGrammarPool to store grammars when its cacheGrammars(String, Grammar[]) method is called. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static final int TABLE_SIZE
protected XMLGrammarPoolImpl.Entry[] fGrammars
protected boolean fPoolIsLocked
protected int fGrammarCount
Constructor Detail |
public XMLGrammarPoolImpl()
public XMLGrammarPoolImpl(int initialCapacity)
Method Detail |
public org.apache.xerces.xni.grammars.Grammar[] retrieveInitialGrammarSet(java.lang.String grammarType)
org.apache.xerces.xni.grammars.XMLGrammarPool
retrieve the initial known set of grammars. this method is called by a validator before the validation starts. the application can provide an initial set of grammars available to the current validation attempt.
retrieveInitialGrammarSet
in interface org.apache.xerces.xni.grammars.XMLGrammarPool
org.apache.xerces.xni.grammars.XMLGrammarPool
grammarType
- the type of the grammar, from the
org.apache.xerces.xni.grammars.Grammar
interface.public void cacheGrammars(java.lang.String grammarType, org.apache.xerces.xni.grammars.Grammar[] grammars)
org.apache.xerces.xni.grammars.XMLGrammarPool
return the final set of grammars that the validator ended up with. This method is called after the validation finishes. The application may then choose to cache some of the returned grammars.
cacheGrammars
in interface org.apache.xerces.xni.grammars.XMLGrammarPool
org.apache.xerces.xni.grammars.XMLGrammarPool
grammarType
- the type of the grammars being returned;grammars
- an array containing the set of grammars being
returned; order is not significant.public org.apache.xerces.xni.grammars.Grammar retrieveGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)
org.apache.xerces.xni.grammars.XMLGrammarPool
This method requests that the application retrieve a grammar corresponding to the given GrammarIdentifier from its cache. If it cannot do so it must return null; the parser will then call the EntityResolver. An application must not call its EntityResolver itself from this method; this may result in infinite recursions.
retrieveGrammar
in interface org.apache.xerces.xni.grammars.XMLGrammarPool
org.apache.xerces.xni.grammars.XMLGrammarPool
desc
- The description of the Grammar being requested.public void putGrammar(org.apache.xerces.xni.grammars.Grammar grammar)
grammar
- The Grammar.public org.apache.xerces.xni.grammars.Grammar getGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)
desc
- The Grammar Description.public org.apache.xerces.xni.grammars.Grammar removeGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)
desc
- The Grammar Description.public boolean containsGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)
desc
- The Grammar Description.public void lockPool()
org.apache.xerces.xni.grammars.XMLGrammarPool
lockPool
in interface org.apache.xerces.xni.grammars.XMLGrammarPool
public void unlockPool()
org.apache.xerces.xni.grammars.XMLGrammarPool
unlockPool
in interface org.apache.xerces.xni.grammars.XMLGrammarPool
public void clear()
org.apache.xerces.xni.grammars.XMLGrammarPool
clear
in interface org.apache.xerces.xni.grammars.XMLGrammarPool
public boolean equals(org.apache.xerces.xni.grammars.XMLGrammarDescription desc1, org.apache.xerces.xni.grammars.XMLGrammarDescription desc2)
desc1
- The grammar descriptiondesc2
- The grammar description of the grammar to be compared topublic int hashCode(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)
desc
- The grammar description
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |