Public Member Functions | Protected Member Functions | Private Attributes

ACEXML_XMLFilterImpl Class Reference

ACEXML_XMLFilterImpl. More...

#include <ACEXML/common/XMLFilterImpl.h>

Inheritance diagram for ACEXML_XMLFilterImpl:
Inheritance graph
[legend]
Collaboration diagram for ACEXML_XMLFilterImpl:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ACEXML_XMLFilterImpl (void)
 ACEXML_XMLFilterImpl (ACEXML_XMLReader *parent)
virtual ~ACEXML_XMLFilterImpl (void)
virtual int getFeature (const ACEXML_Char *name ACEXML_ENV_ARG_DECL)
virtual void * getProperty (const ACEXML_Char *name ACEXML_ENV_ARG_DECL)
virtual void parse (ACEXML_InputSource *input ACEXML_ENV_ARG_DECL)
virtual void parse (const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
virtual void setFeature (const ACEXML_Char *name, int boolean_value ACEXML_ENV_ARG_DECL)
virtual void setProperty (const ACEXML_Char *name, void *value ACEXML_ENV_ARG_DECL)
virtual ACEXML_XMLReadergetParent (void) const
virtual void setParent (ACEXML_XMLReader *parent)
virtual ACEXML_DTDHandlergetDTDHandler (void) const
virtual ACEXML_ContentHandlergetContentHandler (void) const
virtual ACEXML_EntityResolvergetEntityResolver (void) const
virtual ACEXML_ErrorHandlergetErrorHandler (void) const
virtual void setDTDHandler (ACEXML_DTDHandler *handler)
virtual void setContentHandler (ACEXML_ContentHandler *handler)
virtual void setEntityResolver (ACEXML_EntityResolver *handler)
virtual void setErrorHandler (ACEXML_ErrorHandler *handler)
virtual void characters (const ACEXML_Char *ch, size_t start, size_t length ACEXML_ENV_ARG_DECL)
virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL)
virtual void endElement (const ACEXML_Char *namespaceURI, const ACEXML_Char *localName, const ACEXML_Char *qName ACEXML_ENV_ARG_DECL)
virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL)
virtual void ignorableWhitespace (const ACEXML_Char *ch, int start, int length ACEXML_ENV_ARG_DECL)
virtual void processingInstruction (const ACEXML_Char *target, const ACEXML_Char *data ACEXML_ENV_ARG_DECL)
virtual void setDocumentLocator (ACEXML_Locator *locator)
virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL)
virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL)
virtual void startElement (const ACEXML_Char *namespaceURI, const ACEXML_Char *localName, const ACEXML_Char *qName, ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL)
virtual void startPrefixMapping (const ACEXML_Char *prefix, const ACEXML_Char *uri ACEXML_ENV_ARG_DECL)
virtual void notationDecl (const ACEXML_Char *name, const ACEXML_Char *publicId, const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
virtual void unparsedEntityDecl (const ACEXML_Char *name, const ACEXML_Char *publicId, const ACEXML_Char *systemId, const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL)
virtual ACEXML_InputSourceresolveEntity (const ACEXML_Char *publicId, const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)

Protected Member Functions

int setupParser (void)

Private Attributes

ACEXML_XMLReaderparent_
ACEXML_Locatorlocator_
ACEXML_EntityResolverentityResolver_
ACEXML_DTDHandlerdtdHandler_
ACEXML_ContentHandlercontentHandler_
ACEXML_ErrorHandlererrorHandler_

Detailed Description

ACEXML_XMLFilterImpl.

This class is designed to sit between an XMLReader and the client application's event handlers. By default, it does nothing but pass requests up to the reader and events on to the handlers unmodified, but subclasses can override specific methods to modify the event stream or the configuration requests as they pass through.

Definition at line 35 of file XMLFilterImpl.h.


Constructor & Destructor Documentation

ACEXML_XMLFilterImpl::ACEXML_XMLFilterImpl ( void   ) 

Default constructor. Create with no parent.

Definition at line 9 of file XMLFilterImpl.cpp.

ACEXML_XMLFilterImpl::ACEXML_XMLFilterImpl ( ACEXML_XMLReader parent  ) 

Construct an XML filter with the specified parent.

Definition at line 19 of file XMLFilterImpl.cpp.

  : parent_ (parent),
    locator_ (0),
    entityResolver_ (0),
    dtdHandler_ (0),
    contentHandler_ (0),
    errorHandler_ (0)
{
}

ACEXML_XMLFilterImpl::~ACEXML_XMLFilterImpl ( void   )  [virtual]

Destructor.

Definition at line 29 of file XMLFilterImpl.cpp.

{
  // @@ How are all the object lifecycles managed?
}


Member Function Documentation

void ACEXML_XMLFilterImpl::characters ( const ACEXML_Char ch,
size_t  start,
size_t length  ACEXML_ENV_ARG_DECL 
) [virtual]

Definition at line 116 of file XMLFilterImpl.cpp.

{
  if (this->contentHandler_ != 0)
    this->contentHandler_->characters (ch, start, length ACEXML_ENV_ARG_PARAMETER);
}

void ACEXML_XMLFilterImpl::endDocument ( ACEXML_ENV_SINGLE_ARG_DECL   )  [virtual]

Definition at line 126 of file XMLFilterImpl.cpp.

void ACEXML_XMLFilterImpl::endElement ( const ACEXML_Char namespaceURI,
const ACEXML_Char localName,
const ACEXML_Char *qName  ACEXML_ENV_ARG_DECL 
) [virtual]

Definition at line 133 of file XMLFilterImpl.cpp.

{
  if (this->contentHandler_ != 0)
    this->contentHandler_->endElement (namespaceURI,
                                       localName,
                                       qName ACEXML_ENV_ARG_PARAMETER);
}

void ACEXML_XMLFilterImpl::endPrefixMapping ( const ACEXML_Char *prefix  ACEXML_ENV_ARG_DECL  )  [virtual]

Definition at line 144 of file XMLFilterImpl.cpp.

void ACEXML_XMLFilterImpl::error ( ACEXML_SAXParseException &exception  ACEXML_ENV_ARG_DECL  )  [virtual]

Receive notification of a recoverable error.

Implements ACEXML_ErrorHandler.

Definition at line 248 of file XMLFilterImpl.cpp.

{
  if (this->errorHandler_ != 0)
    this->errorHandler_->error (exception ACEXML_ENV_ARG_PARAMETER);
}

void ACEXML_XMLFilterImpl::fatalError ( ACEXML_SAXParseException &exception  ACEXML_ENV_ARG_DECL  )  [virtual]

Receive notification of a non-recoverable error.

Implements ACEXML_ErrorHandler.

Definition at line 255 of file XMLFilterImpl.cpp.

{
  if (this->errorHandler_ != 0)
    this->errorHandler_->fatalError (exception ACEXML_ENV_ARG_PARAMETER);
}

ACEXML_ContentHandler * ACEXML_XMLFilterImpl::getContentHandler ( void   )  const [virtual]

Definition at line 275 of file XMLFilterImpl.cpp.

{
  return this->contentHandler_;
}

ACEXML_DTDHandler * ACEXML_XMLFilterImpl::getDTDHandler ( void   )  const [virtual]

Definition at line 269 of file XMLFilterImpl.cpp.

{
  return this->dtdHandler_;
}

ACEXML_EntityResolver * ACEXML_XMLFilterImpl::getEntityResolver ( void   )  const [virtual]

Definition at line 281 of file XMLFilterImpl.cpp.

{
  return this->entityResolver_;
}

ACEXML_ErrorHandler * ACEXML_XMLFilterImpl::getErrorHandler ( void   )  const [virtual]

Definition at line 287 of file XMLFilterImpl.cpp.

{
  return this->errorHandler_;
}

int ACEXML_XMLFilterImpl::getFeature ( const ACEXML_Char *name  ACEXML_ENV_ARG_DECL  )  [virtual]

Definition at line 58 of file XMLFilterImpl.cpp.

ACEXML_XMLReader * ACEXML_XMLFilterImpl::getParent ( void   )  const [virtual]

Definition at line 104 of file XMLFilterImpl.cpp.

{
  return this->parent_;
}

void * ACEXML_XMLFilterImpl::getProperty ( const ACEXML_Char *name  ACEXML_ENV_ARG_DECL  )  [virtual]

Definition at line 67 of file XMLFilterImpl.cpp.

void ACEXML_XMLFilterImpl::ignorableWhitespace ( const ACEXML_Char ch,
int  start,
int length  ACEXML_ENV_ARG_DECL 
) [virtual]

Definition at line 151 of file XMLFilterImpl.cpp.

{
  if (this->contentHandler_ != 0)
    this->contentHandler_->ignorableWhitespace (ch,
                                                start,
                                                length ACEXML_ENV_ARG_PARAMETER);
}

void ACEXML_XMLFilterImpl::notationDecl ( const ACEXML_Char name,
const ACEXML_Char publicId,
const ACEXML_Char *systemId  ACEXML_ENV_ARG_DECL 
) [virtual]

Definition at line 214 of file XMLFilterImpl.cpp.

{
  if (this->dtdHandler_ != 0)
    this->dtdHandler_->notationDecl (name,
                                     publicId,
                                     systemId ACEXML_ENV_ARG_PARAMETER);
}

void ACEXML_XMLFilterImpl::parse ( const ACEXML_Char *systemId  ACEXML_ENV_ARG_DECL  )  [virtual]

Definition at line 46 of file XMLFilterImpl.cpp.

{
  if (this->setupParser () < 0)
    {
      ACEXML_THROW (ACEXML_SAXException (ACE_TEXT ("No Parent available")));
    }

  this->parent_->parse (new ACEXML_InputSource (systemId) ACEXML_ENV_ARG_PARAMETER);
  return;
}

void ACEXML_XMLFilterImpl::parse ( ACEXML_InputSource *input  ACEXML_ENV_ARG_DECL  )  [virtual]

Definition at line 35 of file XMLFilterImpl.cpp.

{
  if (this->setupParser () < 0)
    {
      ACEXML_THROW (ACEXML_SAXException (ACE_TEXT ("No Parent available")));
    }
  this->parent_->parse (input ACEXML_ENV_ARG_PARAMETER);
  return;
}

void ACEXML_XMLFilterImpl::processingInstruction ( const ACEXML_Char target,
const ACEXML_Char *data  ACEXML_ENV_ARG_DECL 
) [virtual]

Definition at line 162 of file XMLFilterImpl.cpp.

ACEXML_InputSource * ACEXML_XMLFilterImpl::resolveEntity ( const ACEXML_Char publicId,
const ACEXML_Char *systemId  ACEXML_ENV_ARG_DECL 
) [virtual]

Definition at line 238 of file XMLFilterImpl.cpp.

{
  if (this->entityResolver_ != 0)
    return this->entityResolver_->resolveEntity (publicId,
                                                 systemId ACEXML_ENV_ARG_PARAMETER);
  return 0;
}

void ACEXML_XMLFilterImpl::setContentHandler ( ACEXML_ContentHandler handler  )  [virtual]

Definition at line 299 of file XMLFilterImpl.cpp.

{
  this->contentHandler_ = handler;
}

void ACEXML_XMLFilterImpl::setDocumentLocator ( ACEXML_Locator locator  )  [virtual]

Definition at line 171 of file XMLFilterImpl.cpp.

{
  if (this->contentHandler_ != 0)
    this->contentHandler_->setDocumentLocator (locator);
}

void ACEXML_XMLFilterImpl::setDTDHandler ( ACEXML_DTDHandler handler  )  [virtual]

Definition at line 293 of file XMLFilterImpl.cpp.

{
  this->dtdHandler_ = handler;
}

void ACEXML_XMLFilterImpl::setEntityResolver ( ACEXML_EntityResolver handler  )  [virtual]

Definition at line 305 of file XMLFilterImpl.cpp.

{
  this->entityResolver_ = handler;
}

void ACEXML_XMLFilterImpl::setErrorHandler ( ACEXML_ErrorHandler handler  )  [virtual]

Definition at line 311 of file XMLFilterImpl.cpp.

{
  this->errorHandler_ = handler;
}

void ACEXML_XMLFilterImpl::setFeature ( const ACEXML_Char name,
int boolean_value  ACEXML_ENV_ARG_DECL 
) [virtual]

Definition at line 76 of file XMLFilterImpl.cpp.

{
  if (this->parent_ != 0)
    {
      this->parent_->setFeature (name,
                                 boolean_value ACEXML_ENV_ARG_PARAMETER);
      return;
    }

  ACEXML_THROW (ACEXML_SAXNotRecognizedException (name));
}

void ACEXML_XMLFilterImpl::setParent ( ACEXML_XMLReader parent  )  [virtual]

Definition at line 110 of file XMLFilterImpl.cpp.

{
  this->parent_ = parent;
}

void ACEXML_XMLFilterImpl::setProperty ( const ACEXML_Char name,
void *value  ACEXML_ENV_ARG_DECL 
) [virtual]

Definition at line 90 of file XMLFilterImpl.cpp.

{
  if (this->parent_ != 0)
    {
      this->parent_->setProperty (name,
                                  value ACEXML_ENV_ARG_PARAMETER);
      return;
    }

  ACEXML_THROW (ACEXML_SAXNotRecognizedException (name));
}

ACEXML_INLINE int ACEXML_XMLFilterImpl::setupParser ( void   )  [protected]

Definition at line 4 of file XMLFilterImpl.inl.

{
  if (this->parent_ == 0)
    return -1;

  this->parent_->setEntityResolver (this);
  this->parent_->setDTDHandler (this);
  this->parent_->setContentHandler (this);
  this->parent_->setErrorHandler (this);
  return 0;
}

void ACEXML_XMLFilterImpl::skippedEntity ( const ACEXML_Char *name  ACEXML_ENV_ARG_DECL  )  [virtual]

Definition at line 178 of file XMLFilterImpl.cpp.

void ACEXML_XMLFilterImpl::startDocument ( ACEXML_ENV_SINGLE_ARG_DECL   )  [virtual]

Definition at line 185 of file XMLFilterImpl.cpp.

void ACEXML_XMLFilterImpl::startElement ( const ACEXML_Char namespaceURI,
const ACEXML_Char localName,
const ACEXML_Char qName,
ACEXML_Attributes *atts  ACEXML_ENV_ARG_DECL 
) [virtual]

Definition at line 192 of file XMLFilterImpl.cpp.

{
  if (this->contentHandler_ != 0)
    this->contentHandler_->startElement (namespaceURI,
                                         localName,
                                         qName,
                                         atts ACEXML_ENV_ARG_PARAMETER);
}

void ACEXML_XMLFilterImpl::startPrefixMapping ( const ACEXML_Char prefix,
const ACEXML_Char *uri  ACEXML_ENV_ARG_DECL 
) [virtual]

Definition at line 205 of file XMLFilterImpl.cpp.

void ACEXML_XMLFilterImpl::unparsedEntityDecl ( const ACEXML_Char name,
const ACEXML_Char publicId,
const ACEXML_Char systemId,
const ACEXML_Char *notationName  ACEXML_ENV_ARG_DECL 
) [virtual]

Definition at line 225 of file XMLFilterImpl.cpp.

{
  if (this->dtdHandler_ != 0)
    this->dtdHandler_->unparsedEntityDecl (name,
                                           publicId,
                                           systemId,
                                           notationName ACEXML_ENV_ARG_PARAMETER);
}

void ACEXML_XMLFilterImpl::warning ( ACEXML_SAXParseException &exception  ACEXML_ENV_ARG_DECL  )  [virtual]

Receive notification of a warning.

Implements ACEXML_ErrorHandler.

Definition at line 262 of file XMLFilterImpl.cpp.

{
  if (this->errorHandler_ != 0)
    this->errorHandler_->warning (exception ACEXML_ENV_ARG_PARAMETER);
}


Member Data Documentation

Definition at line 260 of file XMLFilterImpl.h.

Definition at line 259 of file XMLFilterImpl.h.

Definition at line 258 of file XMLFilterImpl.h.

Definition at line 261 of file XMLFilterImpl.h.

Definition at line 257 of file XMLFilterImpl.h.

Definition at line 256 of file XMLFilterImpl.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines