org.apache.xerces.parsers

## Class CachingParserPool.ShadowedGrammarPool

- java.lang.Object
- - org.apache.xerces.util.XMLGrammarPoolImpl
  - - org.apache.xerces.parsers.CachingParserPool.ShadowedGrammarPool

- All Implemented Interfaces:
    org.apache.xerces.xni.grammars.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

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.xerces.util.XMLGrammarPoolImpl

      `XMLGrammarPoolImpl.Entry`

  - ### Field Summary

    - ### Fields inherited from class org.apache.xerces.util.XMLGrammarPoolImpl

      `fGrammarCount, fGrammars, fPoolIsLocked, TABLE_SIZE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CachingParserPool.ShadowedGrammarPool(org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool)` Constructs a shadowed grammar pool.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `cacheGrammars(java.lang.String grammarType, org.apache.xerces.xni.grammars.Grammar[] grammars)` Give the grammarPool the option of caching these grammars.
    `boolean` | `containsGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)` Returns true if the grammar pool contains a grammar associated to the specified description.
    `org.apache.xerces.xni.grammars.Grammar` | `getGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription desc)` Returns the grammar associated to the specified description.
    `org.apache.xerces.xni.grammars.Grammar` | `retrieveGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription gDesc)` Retrieve a particular grammar.
    `org.apache.xerces.xni.grammars.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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CachingParserPool.ShadowedGrammarPool

          public CachingParserPool.ShadowedGrammarPool(org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool)

      Constructs a shadowed grammar pool.

  - ### Method Detail

    - #### retrieveInitialGrammarSet

          public org.apache.xerces.xni.grammars.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 `org.apache.xerces.xni.grammars.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 org.apache.xerces.xni.grammars.Grammar retrieveGrammar(org.apache.xerces.xni.grammars.XMLGrammarDescription gDesc)

      Retrieve a particular grammar. REVISIT: does this need to be synchronized since it's just reading?
      Specified by:
        `retrieveGrammar` in interface `org.apache.xerces.xni.grammars.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,
                           org.apache.xerces.xni.grammars.Grammar[] grammars)

      Give the grammarPool the option of caching these grammars. This certainly must be synchronized.
      Specified by:
        `cacheGrammars` in interface `org.apache.xerces.xni.grammars.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 org.apache.xerces.xni.grammars.Grammar getGrammar(org.apache.xerces.xni.grammars.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(org.apache.xerces.xni.grammars.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.

Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.