Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.xerces.util
Class XMLGrammarPoolImpl

    java.lang.Object
      |
      +--org.apache.xerces.util.XMLGrammarPoolImpl

All Implemented Interfaces:
  org.apache.xerces.xni.grammars.XMLGrammarPool

Direct Known Subclasses:
  CachingParserPool.ShadowedGrammarPool

public class XMLGrammarPoolImpl
extends java.lang.Object
implements org.apache.xerces.xni.grammars.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.

Version:
  $Id: XMLGrammarPoolImpl.java,v 1.3 2002/11/28 18:51:28 sandygao Exp $
Author:
  Jeffrey Rodriguez, IBM, Andy Clark, IBM, Neil Graham, IBM, Pavani Mukthipudi, Sun Microsystems, Neeraj Bajaj, SUN Microsystems

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)`
`void` | `clear()`
`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()`
`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)`
`org.apache.xerces.xni.grammars.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

### fGrammarCount

    protected int fGrammarCount

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 org.apache.xerces.xni.grammars.Grammar[] retrieveInitialGrammarSet(java.lang.String grammarType)

  Specified by:
    `retrieveInitialGrammarSet` in interface `org.apache.xerces.xni.grammars.XMLGrammarPool`

### cacheGrammars

    public void cacheGrammars(java.lang.String grammarType,
                              org.apache.xerces.xni.grammars.Grammar[] grammars)

  Specified by:
    `cacheGrammars` in interface `org.apache.xerces.xni.grammars.XMLGrammarPool`

### retrieveGrammar

    public org.apache.xerces.xni.grammars.Grammar retrieveGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)

  Specified by:
    `retrieveGrammar` in interface `org.apache.xerces.xni.grammars.XMLGrammarPool`

### putGrammar

    public 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.
  Parameters:
    `grammar` - The Grammar.

### getGrammar

    public org.apache.xerces.xni.grammars.Grammar getGrammar(org.apache.xerces.xni.grammars.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 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. 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(org.apache.xerces.xni.grammars.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 `org.apache.xerces.xni.grammars.XMLGrammarPool`

### unlockPool

    public void unlockPool()

  Specified by:
    `unlockPool` in interface `org.apache.xerces.xni.grammars.XMLGrammarPool`

### clear

    public void clear()

  Specified by:
    `clear` in interface `org.apache.xerces.xni.grammars.XMLGrammarPool`

### equals

    public 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. 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(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)

  Returns the hash code value for the given grammar description.
  Parameters:
    `desc` - The grammar description
  Returns:
    The hash code value

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 1999-2003 Apache XML Project. All Rights Reserved.