Xerces-C++ 3.3.0
XMLGrammarPool Class Referenceabstract

#include <xercesc/framework/XMLGrammarPool.hpp>

Inheritance diagram for XMLGrammarPool:
XMemory

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 XMLDTDDescriptioncreateDTDDescription (const XMLCh *const systemId)=0
 createDTDDescription
 
virtual XMLSchemaDescriptioncreateSchemaDescription (const XMLCh *const targetNamespace)=0
 createSchemaDescription
 
schema component model support
virtual XSModelgetXSModel (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

MemoryManagergetMemoryManager ()
 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
gramToCachethe 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
nameSpaceKeyKey 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
gramDescthe 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: