Xerces-C++: XMLGrammarPool Class Reference

Xerces-C++ 3.3.0

List of all members
XMLGrammarPool Class Referenceabstract

`#include <xercesc/framework/XMLGrammarPool.hpp>`

Inheritance diagram for XMLGrammarPool:

## Public Member Functions
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
Public Member Functions inherited from XMemory
void * | operator new (size_t size)
| This method overrides operator new.
void * | operator new (size_t size, MemoryManager *memMgr)
| This method defines a custom operator new, that will use the provided memory manager to perform the allocation.
void * | operator new (size_t size, void *ptr)
| This method overrides placement operator new.
void | operator delete (void *p)
| This method overrides operator delete.
void | operator delete (void *p, MemoryManager *memMgr)
| This method provides a matching delete for the custom operator new.
void | operator delete (void *p, void *ptr)
| This method provides a matching delete for the placement new.

## Getter
MemoryManager * | getMemoryManager ()
| getMemoryManager
virtual XMLStringPool * | getURIStringPool ()=0
| Return an XMLStringPool for use by validation routines.
virtual void | serializeGrammars (BinOutputStream *const)=0
| serialization and deserialization support
virtual void | deserializeGrammars (BinInputStream *const)=0
void | setIgnoreSerializedAnnotations (const bool flag)
bool | getIgnoreSerializedAnnotations () const
| XMLGrammarPool (MemoryManager *const memMgr=XMLPlatformUtils::fgMemoryManager)
| Hidden Constructors.

## Additional Inherited Members
Protected Member Functions inherited from XMemory
| XMemory ()
| Protected default constructor.

## Constructor & Destructor Documentation

## ◆ ~XMLGrammarPool()

virtual XMLGrammarPool::~XMLGrammarPool | ( |  | ) |
| virtual

virtual destructor

## ◆ XMLGrammarPool()

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

Hidden Constructors.

## Member Function Documentation

## ◆ cacheGrammar()

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

## ◆ clear()

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.

## ◆ createDTDDescription()

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

createDTDDescription

## ◆ createDTDGrammar()

virtual DTDGrammar * XMLGrammarPool::createDTDGrammar | ( |  | ) |
| pure virtual

createDTDGrammar

## ◆ createSchemaDescription()

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

createSchemaDescription

## ◆ createSchemaGrammar()

virtual SchemaGrammar * XMLGrammarPool::createSchemaGrammar | ( |  | ) |
| pure virtual

createSchemaGrammar

## ◆ deserializeGrammars()

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

## ◆ getGrammarEnumerator()

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

## ◆ getIgnoreSerializedAnnotations()

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

## ◆ getMemoryManager()

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

getMemoryManager

## ◆ getURIStringPool()

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.

## ◆ getXSModel()

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

## ◆ lockPool()

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.

## ◆ orphanGrammar()

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)

## ◆ retrieveGrammar()

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

## ◆ serializeGrammars()

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

serialization and deserialization support

## ◆ setIgnoreSerializedAnnotations()

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

## ◆ unlockPool()

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.

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

- XMLGrammarPool.hpp