# XMLGrammarPool Class Reference

Inheritance diagram for XMLGrammarPool:

List of all members.

## Public Member Functions

virtual void | serializeGrammars (BinOutputStream *const)=0
| serialization and deserialization support
virtual void | deserializeGrammars (BinInputStream *const)=0
void | setIgnoreSerializedAnnotations (const bool flag)
bool | getIgnoreSerializedAnnotations () const
Virtual destructor for derived classes
virtual | ~XMLGrammarPool ()
| virtual destructor
The Grammar Pool Interface
virtual bool | cacheGrammar (Grammar *const gramToCache)=0
| cacheGrammar
virtual Grammar * | retrieveGrammar (XMLGrammarDescription *const gramDesc)=0
| retrieveGrammar
virtual Grammar * | orphanGrammar (const XMLCh *const nameSpaceKey)=0
| orphanGrammar
virtual RefHashTableOfEnumerator < Grammar > | getGrammarEnumerator () const =0
| Get an enumeration of the cached Grammars in the Grammar pool.
virtual bool | clear ()=0
| clear
virtual void | lockPool ()=0
| lockPool
virtual void | unlockPool ()=0
| unlockPool
Factory interface
virtual DTDGrammar * | createDTDGrammar ()=0
| createDTDGrammar
virtual SchemaGrammar * | createSchemaGrammar ()=0
| createSchemaGrammar
virtual XMLDTDDescription * | createDTDDescription (const XMLCh *const systemId)=0
| createDTDDescription
virtual XMLSchemaDescription * | createSchemaDescription (const XMLCh *const targetNamespace)=0
| createSchemaDescription
schema component model support
virtual XSModel * | getXSModel (bool &XSModelWasChanged)=0
Getter
MemoryManager * | getMemoryManager ()
| getMemoryManager
virtual XMLStringPool * | getURIStringPool ()=0
| Return an XMLStringPool for use by validation routines.

## Protected Member Functions

| XMLGrammarPool (MemoryManager *const memMgr=XMLPlatformUtils::fgMemoryManager)
| Hidden Constructors.

## Constructor & Destructor Documentation

virtual XMLGrammarPool::~XMLGrammarPool | ( |  | ) | `[virtual]`

virtual destructor

XMLGrammarPool::XMLGrammarPool | ( | MemoryManager *const | memMgr = `XMLPlatformUtils::fgMemoryManager` | ) | `[protected]`

Hidden Constructors.

## Member Function Documentation

virtual bool XMLGrammarPool::cacheGrammar | ( | Grammar *const | gramToCache | ) | `[pure virtual]`

cacheGrammar

Provide the grammar pool with an opportunity to cache the given grammar. If the pool does not choose to do so, it should return false; otherwise, it should return true, so that the caller knows whether the grammar has been adopted.

Parameters:

  | gramToCache | the Grammar to be cached in the grammar pool

Returns:
  true if the grammar pool has elected to cache the grammar (in which case it is assumed to have adopted it); false if it does not cache it

virtual Grammar* XMLGrammarPool::retrieveGrammar | ( | XMLGrammarDescription *const | gramDesc | ) | `[pure virtual]`

retrieveGrammar

Parameters:

  | gramDesc | the Grammar Description used to search for grammar cached in the grammar pool

virtual Grammar* XMLGrammarPool::orphanGrammar | ( | const XMLCh *const | nameSpaceKey | ) | `[pure virtual]`

orphanGrammar

grammar removed from the grammar pool and owned by the caller

Parameters:

  | nameSpaceKey | Key used to search for grammar in the grammar pool

Returns:
  the grammar that was removed from the pool (0 if none)

virtual RefHashTableOfEnumerator<Grammar> XMLGrammarPool::getGrammarEnumerator | ( |  | ) | const`[pure virtual]`

Get an enumeration of the cached Grammars in the Grammar pool.

Returns:
  enumeration of the cached Grammars in Grammar pool

virtual bool XMLGrammarPool::clear | ( |  | ) | `[pure virtual]`

clear

all grammars are removed from the grammar pool and deleted.

Returns:
  true if the grammar pool was cleared. false if it did not.

virtual void XMLGrammarPool::lockPool | ( |  | ) | `[pure virtual]`

lockPool

When this method is called by the application, the grammar pool should stop adding new grammars to the cache. This should result in the grammar pool being sharable among parsers operating in different threads.

virtual void XMLGrammarPool::unlockPool | ( |  | ) | `[pure virtual]`

unlockPool

After this method has been called, the grammar pool implementation should return to its default behaviour when cacheGrammars(...) is called. One effect, depending on the underlying implementation, is that the grammar pool may no longer be thread-safe (even on read operations).

For PSVI support any previous XSModel that was produced will be deleted.

virtual DTDGrammar* XMLGrammarPool::createDTDGrammar | ( |  | ) | `[pure virtual]`

createDTDGrammar

virtual SchemaGrammar* XMLGrammarPool::createSchemaGrammar | ( |  | ) | `[pure virtual]`

createSchemaGrammar

virtual XMLDTDDescription* XMLGrammarPool::createDTDDescription | ( | const XMLCh *const | systemId | ) | `[pure virtual]`

createDTDDescription

virtual XMLSchemaDescription* XMLGrammarPool::createSchemaDescription | ( | const XMLCh *const | targetNamespace | ) | `[pure virtual]`

createSchemaDescription

virtual XSModel* XMLGrammarPool::getXSModel | ( | bool & | XSModelWasChanged | ) | `[pure virtual]`

MemoryManager* XMLGrammarPool::getMemoryManager | ( |  | ) |

getMemoryManager

virtual XMLStringPool* XMLGrammarPool::getURIStringPool | ( |  | ) | `[pure virtual]`

Return an XMLStringPool for use by validation routines.

Implementations should not create a string pool on each call to this method, but should maintain one string pool for all grammars for which this pool is responsible.

virtual void XMLGrammarPool::serializeGrammars | ( | BinOutputStream * | const | ) | `[pure virtual]`

serialization and deserialization support

virtual void XMLGrammarPool::deserializeGrammars | ( | BinInputStream * | const | ) | `[pure virtual]`

void XMLGrammarPool::setIgnoreSerializedAnnotations | ( | const bool | flag | ) |

bool XMLGrammarPool::getIgnoreSerializedAnnotations | ( |  | ) | const

The documentation for this class was generated from the following file:

- XMLGrammarPool.hpp