org.apache.fop.util

## Class DelegatingContentHandler

- java.lang.Object
- - org.apache.fop.util.DelegatingContentHandler

All Implemented Interfaces:
  ContentHandler, DTDHandler, EntityResolver, ErrorHandler, LexicalHandler

Direct Known Subclasses:
  DelegatingFragmentContentHandler, GenerationHelperContentHandler

    public class DelegatingContentHandler
    extends Object
    implements EntityResolver, DTDHandler, ContentHandler, LexicalHandler, ErrorHandler

SAX 2 Event Handler which simply delegates all calls to another ContentHandler. Subclasses can do additional processing. This class is the passive counterpart to XMLFilterImpl.

The ContentHandler is the only instance that is required. All others (DTDHandler, EntityResolver, LexicalHandler and ErrorHandler) may be ignored.

### Constructor Summary

Constructors
Constructor and Description
`DelegatingContentHandler()` Main constructor.
`DelegatingContentHandler(ContentHandler handler)` Convenience constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `characters(char[] ch, int start, int length)`
`void` `comment(char[] ch, int start, int length)`
`void` `endCDATA()`
`void` `endDocument()`
`void` `endDTD()`
`void` `endElement(String uri, String localName, String qName)`
`void` `endEntity(String name)`
`void` `endPrefixMapping(String prefix)`
`void` `error(SAXParseException exception)`
`void` `fatalError(SAXParseException exception)`
`ContentHandler` `getDelegateContentHandler()`
`void` `ignorableWhitespace(char[] ch, int start, int length)`
`void` `notationDecl(String name, String publicId, String systemId)`
`void` `processingInstruction(String target, String data)`
`InputSource` `resolveEntity(String publicId, String systemId)`
`void` `setDelegateContentHandler(ContentHandler handler)` Sets the delegate ContentHandler that all events are forwarded to.
`void` `setDelegateDTDHandler(DTDHandler handler)` Sets the delegate DTDHandler.
`void` `setDelegateEntityResolver(EntityResolver resolver)` Sets the delegate EntityResolver.
`void` `setDelegateErrorHandler(ErrorHandler handler)` Sets the delegate ErrorHandler.
`void` `setDelegateLexicalHandler(LexicalHandler handler)` Sets the delegate LexicalHandler.
`void` `setDocumentLocator(Locator locator)`
`void` `skippedEntity(String name)`
`void` `startCDATA()`
`void` `startDocument()`
`void` `startDTD(String name, String publicId, String systemId)`
`void` `startElement(String uri, String localName, String qName, Attributes atts)`
`void` `startEntity(String name)`
`void` `startPrefixMapping(String prefix, String uri)`
`void` `unparsedEntityDecl(String name, String publicId, String systemId, String notationName)`
`void` `warning(SAXParseException exception)`

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

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

### Constructor Detail

#### DelegatingContentHandler

    public DelegatingContentHandler()

Main constructor.

#### DelegatingContentHandler

    public DelegatingContentHandler(ContentHandler handler)

Convenience constructor. If the given handler also implements any of the EntityResolver, DTDHandler, LexicalHandler or ErrorHandler interfaces, these are set automatically.

Parameters:
  `handler` - the content handler to delegate to

### Method Detail

#### getDelegateContentHandler

    public ContentHandler getDelegateContentHandler()

Returns:
  the delegate that all ContentHandler events are forwarded to

#### setDelegateContentHandler

    public void setDelegateContentHandler(ContentHandler handler)

Sets the delegate ContentHandler that all events are forwarded to.

Parameters:
  `handler` - the delegate instance

#### setDelegateEntityResolver

    public void setDelegateEntityResolver(EntityResolver resolver)

Sets the delegate EntityResolver.

Parameters:
  `resolver` - the delegate instance

#### setDelegateDTDHandler

    public void setDelegateDTDHandler(DTDHandler handler)

Sets the delegate DTDHandler.

Parameters:
  `handler` - the delegate instance

#### setDelegateLexicalHandler

    public void setDelegateLexicalHandler(LexicalHandler handler)

Sets the delegate LexicalHandler.

Parameters:
  `handler` - the delegate instance

#### setDelegateErrorHandler

    public void setDelegateErrorHandler(ErrorHandler handler)

Sets the delegate ErrorHandler.

Parameters:
  `handler` - the delegate instance

#### resolveEntity

    public InputSource resolveEntity(String publicId,
                                     String systemId)
                              throws SAXException,
                                     IOException

Specified by:
  `resolveEntity` in interface `EntityResolver`
Throws:
  `SAXException`
  `IOException`

#### notationDecl

    public void notationDecl(String name,
                             String publicId,
                             String systemId)
                      throws SAXException

Specified by:
  `notationDecl` in interface `DTDHandler`
Throws:
  `SAXException`

#### unparsedEntityDecl

    public void unparsedEntityDecl(String name,
                                   String publicId,
                                   String systemId,
                                   String notationName)
                            throws SAXException

Specified by:
  `unparsedEntityDecl` in interface `DTDHandler`
Throws:
  `SAXException`

#### setDocumentLocator

    public void setDocumentLocator(Locator locator)

Specified by:
  `setDocumentLocator` in interface `ContentHandler`

#### startDocument

    public void startDocument()
                       throws SAXException

Specified by:
  `startDocument` in interface `ContentHandler`
Throws:
  `SAXException`

#### endDocument

    public void endDocument()
                     throws SAXException

Specified by:
  `endDocument` in interface `ContentHandler`
Throws:
  `SAXException`

#### startPrefixMapping

    public void startPrefixMapping(String prefix,
                                   String uri)
                            throws SAXException

Specified by:
  `startPrefixMapping` in interface `ContentHandler`
Throws:
  `SAXException`

#### endPrefixMapping

    public void endPrefixMapping(String prefix)
                          throws SAXException

Specified by:
  `endPrefixMapping` in interface `ContentHandler`
Throws:
  `SAXException`

#### startElement

    public void startElement(String uri,
                             String localName,
                             String qName,
                             Attributes atts)
                      throws SAXException

Specified by:
  `startElement` in interface `ContentHandler`
Throws:
  `SAXException`

#### endElement

    public void endElement(String uri,
                           String localName,
                           String qName)
                    throws SAXException

Specified by:
  `endElement` in interface `ContentHandler`
Throws:
  `SAXException`

#### characters

    public void characters(char[] ch,
                           int start,
                           int length)
                    throws SAXException

Specified by:
  `characters` in interface `ContentHandler`
Throws:
  `SAXException`

#### ignorableWhitespace

    public void ignorableWhitespace(char[] ch,
                                    int start,
                                    int length)
                             throws SAXException

Specified by:
  `ignorableWhitespace` in interface `ContentHandler`
Throws:
  `SAXException`

#### processingInstruction

    public void processingInstruction(String target,
                                      String data)
                               throws SAXException

Specified by:
  `processingInstruction` in interface `ContentHandler`
Throws:
  `SAXException`

#### skippedEntity

    public void skippedEntity(String name)
                       throws SAXException

Specified by:
  `skippedEntity` in interface `ContentHandler`
Throws:
  `SAXException`

#### startDTD

    public void startDTD(String name,
                         String publicId,
                         String systemId)
                  throws SAXException

Specified by:
  `startDTD` in interface `LexicalHandler`
Throws:
  `SAXException`

#### endDTD

    public void endDTD()
                throws SAXException

Specified by:
  `endDTD` in interface `LexicalHandler`
Throws:
  `SAXException`

#### startEntity

    public void startEntity(String name)
                     throws SAXException

Specified by:
  `startEntity` in interface `LexicalHandler`
Throws:
  `SAXException`

#### endEntity

    public void endEntity(String name)
                   throws SAXException

Specified by:
  `endEntity` in interface `LexicalHandler`
Throws:
  `SAXException`

#### startCDATA

    public void startCDATA()
                    throws SAXException

Specified by:
  `startCDATA` in interface `LexicalHandler`
Throws:
  `SAXException`

#### endCDATA

    public void endCDATA()
                  throws SAXException

Specified by:
  `endCDATA` in interface `LexicalHandler`
Throws:
  `SAXException`

#### comment

    public void comment(char[] ch,
                        int start,
                        int length)
                 throws SAXException

Specified by:
  `comment` in interface `LexicalHandler`
Throws:
  `SAXException`

#### warning

    public void warning(SAXParseException exception)
                 throws SAXException

Specified by:
  `warning` in interface `ErrorHandler`
Throws:
  `SAXException`

#### error

    public void error(SAXParseException exception)
               throws SAXException

Specified by:
  `error` in interface `ErrorHandler`
Throws:
  `SAXException`

#### fatalError

    public void fatalError(SAXParseException exception)
                    throws SAXException

Specified by:
  `fatalError` in interface `ErrorHandler`
Throws:
  `SAXException`