org.apache.xerces.impl.xs

## Class XSGrammarBucket

- java.lang.Object
- - org.apache.xerces.impl.xs.XSGrammarBucket

-     public class XSGrammarBucket
      extends java.lang.Object

  A class used to hold the internal schema grammar set for the current instance
  Version:
    $Id: XSGrammarBucket.java 779298 2009-05-27 20:26:13Z knoaman $
  Author:
    Sandy Gao, IBM

  # INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `XSGrammarBucket()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `SchemaGrammar` | `getGrammar(java.lang.String namespace)` Get the schema grammar for the specified namespace
    `SchemaGrammar[]` | `getGrammars()` get all grammars in the registry
    `void` | `putGrammar(SchemaGrammar grammar)` Put a schema grammar into the registry This method is for internal use only: it assumes that a grammar with the same target namespace is not already in the bucket.
    `boolean` | `putGrammar(SchemaGrammar grammar, boolean deep)` put a schema grammar and any grammars imported by it (directly or inderectly) into the registry.
    `boolean` | `putGrammar(SchemaGrammar grammar, boolean deep, boolean ignoreConflict)` put a schema grammar and any grammars imported by it (directly or inderectly) into the registry.
    `void` | `reset()` Clear the registry.

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### XSGrammarBucket

          public XSGrammarBucket()

  - ### Method Detail

    - #### getGrammar

          public SchemaGrammar getGrammar(java.lang.String namespace)

      Get the schema grammar for the specified namespace
      Parameters:
        `namespace` -
      Returns:
        SchemaGrammar associated with the namespace

    - #### putGrammar

          public void putGrammar(SchemaGrammar grammar)

      Put a schema grammar into the registry This method is for internal use only: it assumes that a grammar with the same target namespace is not already in the bucket.
      Parameters:
        `grammar` - the grammar to put in the registry

    - #### putGrammar

          public boolean putGrammar(SchemaGrammar grammar,
                           boolean deep)

      put a schema grammar and any grammars imported by it (directly or inderectly) into the registry. when a grammar with the same target namespace is already in the bucket, and different from the one being added, it's an error, and no grammar will be added into the bucket.
      Parameters:
        `grammar` - the grammar to put in the registry
        `deep` - whether to add imported grammars
      Returns:
        whether the process succeeded

    - #### putGrammar

          public boolean putGrammar(SchemaGrammar grammar,
                           boolean deep,
                           boolean ignoreConflict)

      put a schema grammar and any grammars imported by it (directly or inderectly) into the registry. when a grammar with the same target namespace is already in the bucket, and different from the one being added, no grammar will be added into the bucket.
      Parameters:
        `grammar` - the grammar to put in the registry
        `deep` - whether to add imported grammars
        `ignoreConflict` - whether to ignore grammars that already exist in the grammar bucket or not - including 'grammar' parameter.
      Returns:
        whether the process succeeded

    - #### getGrammars

          public SchemaGrammar[] getGrammars()

      get all grammars in the registry
      Returns:
        an array of SchemaGrammars.

    - #### reset

          public void reset()

      Clear the registry. REVISIT: update to use another XSGrammarBucket

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