org.xml.sax.helpers

## Class ParserAdapter

- java.lang.Object
- - org.xml.sax.helpers.ParserAdapter

- All Implemented Interfaces:
    DocumentHandler, XMLReader

      public class ParserAdapter
      extends java.lang.Object
      implements XMLReader, DocumentHandler

  Adapt a SAX1 Parser as a SAX2 XMLReader.

  > This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.

  This class wraps a SAX1 `Parser` and makes it act as a SAX2 `XMLReader`, with feature, property, and Namespace support. Note that it is not possible to report `skippedEntity` events, since SAX1 does not make that information available.

  This adapter does not test for duplicate Namespace-qualified attribute names.

  Since:
    SAX 2.0
  Version:
    2.0.1 (sax2r2)
  Author:
    David Megginson
  See Also:
    `XMLReaderAdapter`, `XMLReader`, `Parser`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParserAdapter()` Construct a new parser adapter.
    `ParserAdapter(Parser parser)` Construct a new parser adapter.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `characters(char[] ch, int start, int length)` Adapter implementation method; do not call.
    `void` | `endDocument()` Adapter implementation method; do not call.
    `void` | `endElement(java.lang.String qName)` Adapter implementation method; do not call.
    `ContentHandler` | `getContentHandler()` Return the current content handler.
    `DTDHandler` | `getDTDHandler()` Return the current DTD handler.
    `EntityResolver` | `getEntityResolver()` Return the current entity resolver.
    `ErrorHandler` | `getErrorHandler()` Return the current error handler.
    `boolean` | `getFeature(java.lang.String name)` Check a parser feature flag.
    `java.lang.Object` | `getProperty(java.lang.String name)` Get a parser property.
    `void` | `ignorableWhitespace(char[] ch, int start, int length)` Adapter implementation method; do not call.
    `void` | `parse(InputSource input)` Parse an XML document.
    `void` | `parse(java.lang.String systemId)` Parse an XML document.
    `void` | `processingInstruction(java.lang.String target, java.lang.String data)` Adapter implementation method; do not call.
    `void` | `setContentHandler(ContentHandler handler)` Set the content handler.
    `void` | `setDocumentLocator(Locator locator)` Adapter implementation method; do not call.
    `void` | `setDTDHandler(DTDHandler handler)` Set the DTD handler.
    `void` | `setEntityResolver(EntityResolver resolver)` Set the entity resolver.
    `void` | `setErrorHandler(ErrorHandler handler)` Set the error handler.
    `void` | `setFeature(java.lang.String name, boolean value)` Set a feature flag for the parser.
    `void` | `setProperty(java.lang.String name, java.lang.Object value)` Set a parser property.
    `void` | `startDocument()` Adapter implementation method; do not call.
    `void` | `startElement(java.lang.String qName, AttributeList qAtts)` Adapter implementation method; do not call.

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

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

- - ### Constructor Detail

    - #### ParserAdapter

          public ParserAdapter()
                        throws SAXException

      Construct a new parser adapter.

      Use the "org.xml.sax.parser" property to locate the embedded SAX1 driver.

      Throws:
        `SAXException` - If the embedded driver cannot be instantiated or if the org.xml.sax.parser property is not specified.

    - #### ParserAdapter

          public ParserAdapter(Parser parser)

      Construct a new parser adapter.

      Note that the embedded parser cannot be changed once the adapter is created; to embed a different parser, allocate a new ParserAdapter.

      Parameters:
        `parser` - The SAX1 parser to embed.
      Throws:
        `java.lang.NullPointerException` - If the parser parameter is null.

  - ### Method Detail

    - #### setFeature

          public void setFeature(java.lang.String name,
                        boolean value)
                          throws SAXNotRecognizedException,
                                 SAXNotSupportedException

      Set a feature flag for the parser.

      The only features recognized are namespaces and namespace-prefixes.

      Specified by:
        `setFeature` in interface `XMLReader`
      Parameters:
        `name` - The feature name, as a complete URI.
        `value` - The requested feature value.
      Throws:
        `SAXNotRecognizedException` - If the feature can't be assigned or retrieved.
        `SAXNotSupportedException` - If the feature can't be assigned that value.
      See Also:
        `XMLReader.setFeature(java.lang.String, boolean)`

    - #### getFeature

          public boolean getFeature(java.lang.String name)
                             throws SAXNotRecognizedException,
                                    SAXNotSupportedException

      Check a parser feature flag.

      The only features recognized are namespaces and namespace-prefixes.

      Specified by:
        `getFeature` in interface `XMLReader`
      Parameters:
        `name` - The feature name, as a complete URI.
      Returns:
        The current feature value.
      Throws:
        `SAXNotRecognizedException` - If the feature value can't be assigned or retrieved.
        `SAXNotSupportedException` - If the feature is not currently readable.
      See Also:
        `XMLReader.setFeature(java.lang.String, boolean)`

    - #### setProperty

          public void setProperty(java.lang.String name,
                         java.lang.Object value)
                           throws SAXNotRecognizedException,
                                  SAXNotSupportedException

      Set a parser property.

      No properties are currently recognized.

      Specified by:
        `setProperty` in interface `XMLReader`
      Parameters:
        `name` - The property name.
        `value` - The property value.
      Throws:
        `SAXNotRecognizedException` - If the property value can't be assigned or retrieved.
        `SAXNotSupportedException` - If the property can't be assigned that value.
      See Also:
        `XMLReader.setProperty(java.lang.String, java.lang.Object)`

    - #### getProperty

          public java.lang.Object getProperty(java.lang.String name)
                                       throws SAXNotRecognizedException,
                                              SAXNotSupportedException

      Get a parser property.

      No properties are currently recognized.

      Specified by:
        `getProperty` in interface `XMLReader`
      Parameters:
        `name` - The property name.
      Returns:
        The property value.
      Throws:
        `SAXNotRecognizedException` - If the property value can't be assigned or retrieved.
        `SAXNotSupportedException` - If the property value is not currently readable.
      See Also:
        `XMLReader.getProperty(java.lang.String)`

    - #### setEntityResolver

          public void setEntityResolver(EntityResolver resolver)

      Set the entity resolver.
      Specified by:
        `setEntityResolver` in interface `XMLReader`
      Parameters:
        `resolver` - The new entity resolver.
      See Also:
        `XMLReader.setEntityResolver(org.xml.sax.EntityResolver)`

    - #### getEntityResolver

          public EntityResolver getEntityResolver()

      Return the current entity resolver.
      Specified by:
        `getEntityResolver` in interface `XMLReader`
      Returns:
        The current entity resolver, or null if none was supplied.
      See Also:
        `XMLReader.getEntityResolver()`

    - #### setDTDHandler

          public void setDTDHandler(DTDHandler handler)

      Set the DTD handler.
      Specified by:
        `setDTDHandler` in interface `XMLReader`
      Parameters:
        `handler` - the new DTD handler
      See Also:
        `XMLReader.setEntityResolver(org.xml.sax.EntityResolver)`

    - #### getDTDHandler

          public DTDHandler getDTDHandler()

      Return the current DTD handler.
      Specified by:
        `getDTDHandler` in interface `XMLReader`
      Returns:
        the current DTD handler, or null if none was supplied
      See Also:
        `XMLReader.getEntityResolver()`

    - #### setContentHandler

          public void setContentHandler(ContentHandler handler)

      Set the content handler.
      Specified by:
        `setContentHandler` in interface `XMLReader`
      Parameters:
        `handler` - the new content handler
      See Also:
        `XMLReader.setEntityResolver(org.xml.sax.EntityResolver)`

    - #### getContentHandler

          public ContentHandler getContentHandler()

      Return the current content handler.
      Specified by:
        `getContentHandler` in interface `XMLReader`
      Returns:
        The current content handler, or null if none was supplied.
      See Also:
        `XMLReader.getEntityResolver()`

    - #### setErrorHandler

          public void setErrorHandler(ErrorHandler handler)

      Set the error handler.
      Specified by:
        `setErrorHandler` in interface `XMLReader`
      Parameters:
        `handler` - The new error handler.
      See Also:
        `XMLReader.setEntityResolver(org.xml.sax.EntityResolver)`

    - #### getErrorHandler

          public ErrorHandler getErrorHandler()

      Return the current error handler.
      Specified by:
        `getErrorHandler` in interface `XMLReader`
      Returns:
        The current error handler, or null if none was supplied.
      See Also:
        `XMLReader.getEntityResolver()`

    - #### parse

          public void parse(java.lang.String systemId)
                     throws java.io.IOException,
                            SAXException

      Parse an XML document.
      Specified by:
        `parse` in interface `XMLReader`
      Parameters:
        `systemId` - The absolute URL of the document.
      Throws:
        `java.io.IOException` - If there is a problem reading the raw content of the document.
        `SAXException` - If there is a problem processing the document.
      See Also:
        `parse(org.xml.sax.InputSource)`, `Parser.parse(java.lang.String)`

    - #### parse

          public void parse(InputSource input)
                     throws java.io.IOException,
                            SAXException

      Parse an XML document.
      Specified by:
        `parse` in interface `XMLReader`
      Parameters:
        `input` - An input source for the document.
      Throws:
        `java.io.IOException` - If there is a problem reading the raw content of the document.
        `SAXException` - If there is a problem processing the document.
      See Also:
        `parse(java.lang.String)`, `Parser.parse(org.xml.sax.InputSource)`

    - #### setDocumentLocator

          public void setDocumentLocator(Locator locator)

      Adapter implementation method; do not call. Adapt a SAX1 document locator event.
      Specified by:
        `setDocumentLocator` in interface `DocumentHandler`
      Parameters:
        `locator` - A document locator.
      See Also:
        `ContentHandler.setDocumentLocator(org.xml.sax.Locator)`

    - #### startDocument

          public void startDocument()
                             throws SAXException

      Adapter implementation method; do not call. Adapt a SAX1 start document event.
      Specified by:
        `startDocument` in interface `DocumentHandler`
      Throws:
        `SAXException` - The client may raise a processing exception.
      See Also:
        `DocumentHandler.startDocument()`

    - #### endDocument

          public void endDocument()
                           throws SAXException

      Adapter implementation method; do not call. Adapt a SAX1 end document event.
      Specified by:
        `endDocument` in interface `DocumentHandler`
      Throws:
        `SAXException` - The client may raise a processing exception.
      See Also:
        `DocumentHandler.endDocument()`

    - #### startElement

          public void startElement(java.lang.String qName,
                          AttributeList qAtts)
                            throws SAXException

      Adapter implementation method; do not call. Adapt a SAX1 startElement event.

      If necessary, perform Namespace processing.

      Specified by:
        `startElement` in interface `DocumentHandler`
      Parameters:
        `qName` - The qualified (prefixed) name.
        `qAtts` - The XML attribute list (with qnames).
      Throws:
        `SAXException` - The client may raise a processing exception.
      See Also:
        `DocumentHandler.endElement(java.lang.String)`, `AttributeList`

    - #### endElement

          public void endElement(java.lang.String qName)
                          throws SAXException

      Adapter implementation method; do not call. Adapt a SAX1 end element event.
      Specified by:
        `endElement` in interface `DocumentHandler`
      Parameters:
        `qName` - The qualified (prefixed) name.
      Throws:
        `SAXException` - The client may raise a processing exception.
      See Also:
        `DocumentHandler.endElement(java.lang.String)`

    - #### characters

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

      Adapter implementation method; do not call. Adapt a SAX1 characters event.
      Specified by:
        `characters` in interface `DocumentHandler`
      Parameters:
        `ch` - An array of characters.
        `start` - The starting position in the array.
        `length` - The number of characters to use.
      Throws:
        `SAXException` - The client may raise a processing exception.
      See Also:
        `DocumentHandler.characters(char[], int, int)`

    - #### ignorableWhitespace

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

      Adapter implementation method; do not call. Adapt a SAX1 ignorable whitespace event.
      Specified by:
        `ignorableWhitespace` in interface `DocumentHandler`
      Parameters:
        `ch` - An array of characters.
        `start` - The starting position in the array.
        `length` - The number of characters to use.
      Throws:
        `SAXException` - The client may raise a processing exception.
      See Also:
        `DocumentHandler.ignorableWhitespace(char[], int, int)`

    - #### processingInstruction

          public void processingInstruction(java.lang.String target,
                                   java.lang.String data)
                                     throws SAXException

      Adapter implementation method; do not call. Adapt a SAX1 processing instruction event.
      Specified by:
        `processingInstruction` in interface `DocumentHandler`
      Parameters:
        `target` - The processing instruction target.
        `data` - The remainder of the processing instruction
      Throws:
        `SAXException` - The client may raise a processing exception.
      See Also:
        `DocumentHandler.processingInstruction(java.lang.String, java.lang.String)`

Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.