org.xml.sax.helpers

Class ParserAdapter

public class ParserAdapter extends 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 {@link org.xml.sax.Parser Parser} and makes it act as a SAX2 {@link org.xml.sax.XMLReader XMLReader}, with feature, property, and Namespace support. Note that it is not possible to report {@link org.xml.sax.ContentHandler#skippedEntity skippedEntity} events, since SAX1 does not make that information available.

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

Note that this is not the class shipped with SAX 2.0.1; this class takes into account the presence of AccessControllers in J2EE 1.4.

Since: SAX 2.0

Version: 2.0.1 (sax2r2)

Author: David Megginson

See Also: XMLReaderAdapter XMLReader Parser

Constructor Summary
ParserAdapter()
Construct a new parser adapter.
ParserAdapter(Parser parser)
Construct a new parser adapter.
Method Summary
voidcharacters(char[] ch, int start, int length)
Adapter implementation method; do not call.
voidendDocument()
Adapter implementation method; do not call.
voidendElement(String qName)
Adapter implementation method; do not call.
ContentHandlergetContentHandler()
Return the current content handler.
DTDHandlergetDTDHandler()
Return the current DTD handler.
EntityResolvergetEntityResolver()
Return the current entity resolver.
ErrorHandlergetErrorHandler()
Return the current error handler.
booleangetFeature(String name)
Check a parser feature flag.
ObjectgetProperty(String name)
Get a parser property.
voidignorableWhitespace(char[] ch, int start, int length)
Adapter implementation method; do not call.
voidparse(String systemId)
Parse an XML document.
voidparse(InputSource input)
Parse an XML document.
voidprocessingInstruction(String target, String data)
Adapter implementation method; do not call.
voidsetContentHandler(ContentHandler handler)
Set the content handler.
voidsetDocumentLocator(Locator locator)
Adapter implementation method; do not call.
voidsetDTDHandler(DTDHandler handler)
Set the DTD handler.
voidsetEntityResolver(EntityResolver resolver)
Set the entity resolver.
voidsetErrorHandler(ErrorHandler handler)
Set the error handler.
voidsetFeature(String name, boolean value)
Set a feature flag for the parser.
voidsetProperty(String name, Object value)
Set a parser property.
voidstartDocument()
Adapter implementation method; do not call.
voidstartElement(String qName, AttributeList qAtts)
Adapter implementation method; do not call.

Constructor Detail

ParserAdapter

public ParserAdapter()
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

characters

public void characters(char[] ch, int start, int length)
Adapter implementation method; do not call. Adapt a SAX1 characters event.

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

endDocument

public void endDocument()
Adapter implementation method; do not call. Adapt a SAX1 end document event.

Throws: SAXException The client may raise a processing exception.

See Also: DocumentHandler

endElement

public void endElement(String qName)
Adapter implementation method; do not call. Adapt a SAX1 end element event.

Parameters: qName The qualified (prefixed) name.

Throws: SAXException The client may raise a processing exception.

See Also: DocumentHandler

getContentHandler

public ContentHandler getContentHandler()
Return the current content handler.

Returns: The current content handler, or null if none was supplied.

See Also: XMLReader

getDTDHandler

public DTDHandler getDTDHandler()
Return the current DTD handler.

Returns: The current DTD handler, or null if none was supplied.

See Also: XMLReader

getEntityResolver

public EntityResolver getEntityResolver()
Return the current entity resolver.

Returns: The current entity resolver, or null if none was supplied.

See Also: XMLReader

getErrorHandler

public ErrorHandler getErrorHandler()
Return the current error handler.

Returns: The current error handler, or null if none was supplied.

See Also: XMLReader

getFeature

public boolean getFeature(String name)
Check a parser feature flag.

The only features recognized are namespaces and namespace-prefixes.

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

getProperty

public Object getProperty(String name)
Get a parser property.

No properties are currently recognized.

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

ignorableWhitespace

public void ignorableWhitespace(char[] ch, int start, int length)
Adapter implementation method; do not call. Adapt a SAX1 ignorable whitespace event.

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

parse

public void parse(String systemId)
Parse an XML document.

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 Parser

parse

public void parse(InputSource input)
Parse an XML document.

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: ParserAdapter parse

processingInstruction

public void processingInstruction(String target, String data)
Adapter implementation method; do not call. Adapt a SAX1 processing instruction event.

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

setContentHandler

public void setContentHandler(ContentHandler handler)
Set the content handler.

Parameters: resolver The new content handler.

See Also: XMLReader

setDocumentLocator

public void setDocumentLocator(Locator locator)
Adapter implementation method; do not call. Adapt a SAX1 document locator event.

Parameters: locator A document locator.

See Also: ContentHandler

setDTDHandler

public void setDTDHandler(DTDHandler handler)
Set the DTD handler.

Parameters: resolver The new DTD handler.

See Also: XMLReader

setEntityResolver

public void setEntityResolver(EntityResolver resolver)
Set the entity resolver.

Parameters: resolver The new entity resolver.

See Also: XMLReader

setErrorHandler

public void setErrorHandler(ErrorHandler handler)
Set the error handler.

Parameters: resolver The new error handler.

See Also: XMLReader

setFeature

public void setFeature(String name, boolean value)
Set a feature flag for the parser.

The only features recognized are namespaces and namespace-prefixes.

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

setProperty

public void setProperty(String name, Object value)
Set a parser property.

No properties are currently recognized.

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

startDocument

public void startDocument()
Adapter implementation method; do not call. Adapt a SAX1 start document event.

Throws: SAXException The client may raise a processing exception.

See Also: DocumentHandler

startElement

public void startElement(String qName, AttributeList qAtts)
Adapter implementation method; do not call. Adapt a SAX1 startElement event.

If necessary, perform Namespace processing.

Parameters: qName The qualified (prefixed) name. qAtts The XML 1.0 attribute list (with qnames).

Throws: SAXException The client may raise a processing exception.