- java.lang.Object
-
- org.xml.sax.helpers.ParserAdapter
-
- All Implemented Interfaces:
DocumentHandler
,XMLReader
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
Parser
and makes it act as a SAX2XMLReader
, with feature, property, and Namespace support. Note that it is not possible to reportskippedEntity
events, since SAX1 does not make that information available.This adapter does not test for duplicate Namespace-qualified attribute names.
- Since:
- 1.4, SAX 2.0
- See Also:
XMLReaderAdapter
,XMLReader
,Parser
-
-
Constructor Summary
Constructors Constructor Description ParserAdapter()
Construct a new parser adapter.ParserAdapter(Parser parser)
Construct a new parser adapter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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(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(String name)
Check a parser feature flag.Object
getProperty(String name)
Get a parser property.void
ignorableWhitespace(char[] ch, int start, int length)
Adapter implementation method; do not call.void
parse(String systemId)
Parse an XML document.void
parse(InputSource input)
Parse an XML document.void
processingInstruction(String target, 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(String name, boolean value)
Set a feature flag for the parser.void
setProperty(String name, Object value)
Set a parser property.void
startDocument()
Adapter implementation method; do not call.void
startElement(String qName, AttributeList qAtts)
Adapter implementation method; do not call.
-
-
-
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:
NullPointerException
- If the parser parameter is null.
-
-
Method Detail
-
setFeature
public void setFeature(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 interfaceXMLReader
- 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(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Check a parser feature flag.The only features recognized are namespaces and namespace-prefixes.
- Specified by:
getFeature
in interfaceXMLReader
- 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(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException
Set a parser property.No properties are currently recognized.
- Specified by:
setProperty
in interfaceXMLReader
- 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 Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Get a parser property.No properties are currently recognized.
- Specified by:
getProperty
in interfaceXMLReader
- 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 interfaceXMLReader
- 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 interfaceXMLReader
- 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 interfaceXMLReader
- 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 interfaceXMLReader
- 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 interfaceXMLReader
- 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 interfaceXMLReader
- 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 interfaceXMLReader
- 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 interfaceXMLReader
- Returns:
- The current error handler, or null if none was supplied.
- See Also:
XMLReader.getEntityResolver()
-
parse
public void parse(String systemId) throws IOException, SAXException
Parse an XML document.- Specified by:
parse
in interfaceXMLReader
- Parameters:
systemId
- The absolute URL of the document.- Throws:
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 IOException, SAXException
Parse an XML document.- Specified by:
parse
in interfaceXMLReader
- Parameters:
input
- An input source for the document.- Throws:
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 interfaceDocumentHandler
- 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 interfaceDocumentHandler
- 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 interfaceDocumentHandler
- Throws:
SAXException
- The client may raise a processing exception.- See Also:
DocumentHandler.endDocument()
-
startElement
public void startElement(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 interfaceDocumentHandler
- 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(String qName) throws SAXException
Adapter implementation method; do not call. Adapt a SAX1 end element event.- Specified by:
endElement
in interfaceDocumentHandler
- 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 interfaceDocumentHandler
- 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 interfaceDocumentHandler
- 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(String target, String data) throws SAXException
Adapter implementation method; do not call. Adapt a SAX1 processing instruction event.- Specified by:
processingInstruction
in interfaceDocumentHandler
- 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)
-
-