org.xml.sax.helpers
Class XMLFilterImpl

java.lang.Object
  extended by org.xml.sax.helpers.XMLFilterImpl
All Implemented Interfaces:
ContentHandler, DTDHandler, EntityResolver, ErrorHandler, XMLFilter, XMLReader

public class XMLFilterImpl
extends Object
implements XMLFilter, EntityResolver, DTDHandler, ContentHandler, ErrorHandler

Base class for deriving an XML filter.

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 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.

See Also:
XMLFilter, XMLReader, EntityResolver, DTDHandler, ContentHandler, ErrorHandler
Since:
BlackBerry API 4.3.0, SAX 2.0

Constructor Summary
XMLFilterImpl()
          Construct an empty XML filter, with no parent.
XMLFilterImpl(XMLReader parent)
          Construct an XML filter with the specified parent.
 
Method Summary
 void characters(char[] ch, int start, int length)
          Filter a character data event.
 void endDocument()
          Filter an end document event.
 void endElement(String uri, String localName, String qName)
          Filter an end element event.
 void endPrefixMapping(String prefix)
          Filter an end Namespace prefix mapping event.
 void error(SAXParseException e)
          Filter an error event.
 void fatalError(SAXParseException e)
          Filter a fatal error event.
 ContentHandler getContentHandler()
          Get the content event handler.
 DTDHandler getDTDHandler()
          Get the current DTD event handler.
 EntityResolver getEntityResolver()
          Get the current entity resolver.
 ErrorHandler getErrorHandler()
          Get the current error event handler.
 boolean getFeature(String name)
          Look up the value of a feature.
 XMLReader getParent()
          Get the parent reader.
 Object getProperty(String name)
          Look up the value of a property.
 void ignorableWhitespace(char[] ch, int start, int length)
          Filter an ignorable whitespace event.
 void notationDecl(String name, String publicId, String systemId)
          Filter a notation declaration event.
 void parse(String systemId)
          Parse a document.
 void parse(InputSource input)
          Parse a document.
 void processingInstruction(String target, String data)
          Filter a processing instruction event.
 InputSource resolveEntity(String publicId, String systemId)
          Filter an external entity resolution.
 void setContentHandler(ContentHandler handler)
          Set the content event handler.
 void setDTDHandler(DTDHandler handler)
          Set the DTD event handler.
 void setDocumentLocator(Locator locator)
          Filter a new document locator event.
 void setEntityResolver(EntityResolver resolver)
          Set the entity resolver.
 void setErrorHandler(ErrorHandler handler)
          Set the error event handler.
 void setFeature(String name, boolean value)
          Set the value of a feature.
 void setParent(XMLReader parent)
          Set the parent reader.
 void setProperty(String name, Object value)
          Set the value of a property.
 void skippedEntity(String name)
          Filter a skipped entity event.
 void startDocument()
          Filter a start document event.
 void startElement(String uri, String localName, String qName, Attributes atts)
          Filter a start element event.
 void startPrefixMapping(String prefix, String uri)
          Filter a start Namespace prefix mapping event.
 void unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
          Filter an unparsed entity declaration event.
 void warning(SAXParseException e)
          Filter a warning event.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Constructor Detail

XMLFilterImpl

public XMLFilterImpl()
Construct an empty XML filter, with no parent.

This filter will have no parent: you must assign a parent before you start a parse or do any configuration with setFeature or setProperty, unless you use this as a pure event consumer rather than as an XMLReader.

See Also:
XMLReader.setFeature(java.lang.String, boolean), XMLReader.setProperty(java.lang.String, java.lang.Object), XMLFilterImpl.setParent(org.xml.sax.XMLReader)
Since:
BlackBerry API 4.3.0

XMLFilterImpl

public XMLFilterImpl(XMLReader parent)
Construct an XML filter with the specified parent.

See Also:
XMLFilterImpl.setParent(org.xml.sax.XMLReader), XMLFilterImpl.getParent()
Since:
BlackBerry API 4.3.0


Method Detail

setParent

public void setParent(XMLReader parent)
Set the parent reader.

This is the XMLReader from which this filter will obtain its events and to which it will pass its configuration requests. The parent may itself be another filter.

If there is no parent reader set, any attempt to parse or to set or get a feature or property will fail.

Specified by:
setParent in interface XMLFilter
Parameters:
parent - The parent XML reader.
See Also:
XMLFilterImpl.getParent()
Since:
BlackBerry API 4.3.0

getParent

public XMLReader getParent()
Get the parent reader.

Specified by:
getParent in interface XMLFilter
Returns:
The parent XML reader, or null if none is set.
See Also:
XMLFilterImpl.setParent(org.xml.sax.XMLReader)
Since:
BlackBerry API 4.3.0

setFeature

public void setFeature(String name,
                       boolean value)
                throws SAXNotRecognizedException,
                       SAXNotSupportedException
Set the value of a feature.

This will always fail if the parent is null.

Specified by:
setFeature in interface XMLReader
Parameters:
name - The feature name.
value - The requested feature value.
Throws:
SAXNotRecognizedException - If the feature value can't be assigned or retrieved from the parent.
SAXNotSupportedException - When the parent recognizes the feature name but cannot set the requested value.
See Also:
XMLReader.getFeature(java.lang.String)
Since:
BlackBerry API 4.3.0

getFeature

public boolean getFeature(String name)
                   throws SAXNotRecognizedException,
                          SAXNotSupportedException
Look up the value of a feature.

This will always fail if the parent is null.

Specified by:
getFeature in interface XMLReader
Parameters:
name - The feature name.
Returns:
The current value of the feature.
Throws:
SAXNotRecognizedException - If the feature value can't be assigned or retrieved from the parent.
SAXNotSupportedException - When the parent recognizes the feature name but cannot determine its value at this time.
See Also:
XMLReader.setFeature(java.lang.String, boolean)
Since:
BlackBerry API 4.3.0

setProperty

public void setProperty(String name,
                        Object value)
                 throws SAXNotRecognizedException,
                        SAXNotSupportedException
Set the value of a property.

This will always fail if the parent is null.

Specified by:
setProperty in interface XMLReader
Parameters:
name - The property name.
value - The requested property value.
Throws:
SAXNotRecognizedException - If the property value can't be assigned or retrieved from the parent.
SAXNotSupportedException - When the parent recognizes the property name but cannot set the requested value.
Since:
BlackBerry API 4.3.0

getProperty

public Object getProperty(String name)
                   throws SAXNotRecognizedException,
                          SAXNotSupportedException
Look up the value of a property.

Specified by:
getProperty in interface XMLReader
Parameters:
name - The property name.
Returns:
The current value of the property.
Throws:
SAXNotRecognizedException - If the property value can't be assigned or retrieved from the parent.
SAXNotSupportedException - When the parent recognizes the property name but cannot determine its value at this time.
See Also:
XMLReader.setProperty(java.lang.String, java.lang.Object)
Since:
BlackBerry API 4.3.0

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.getEntityResolver()
Since:
BlackBerry API 4.3.0

getEntityResolver

public EntityResolver getEntityResolver()
Get the current entity resolver.

Specified by:
getEntityResolver in interface XMLReader
Returns:
The current entity resolver, or null if none was set.
See Also:
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
Since:
BlackBerry API 4.3.0

setDTDHandler

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

Specified by:
setDTDHandler in interface XMLReader
Parameters:
handler - the new DTD handler
See Also:
XMLReader.getDTDHandler()
Since:
BlackBerry API 4.3.0

getDTDHandler

public DTDHandler getDTDHandler()
Get the current DTD event handler.

Specified by:
getDTDHandler in interface XMLReader
Returns:
The current DTD handler, or null if none was set.
See Also:
XMLReader.setDTDHandler(org.xml.sax.DTDHandler)
Since:
BlackBerry API 4.3.0

setContentHandler

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

Specified by:
setContentHandler in interface XMLReader
Parameters:
handler - the new content handler
See Also:
XMLReader.getContentHandler()
Since:
BlackBerry API 4.3.0

getContentHandler

public ContentHandler getContentHandler()
Get the content event handler.

Specified by:
getContentHandler in interface XMLReader
Returns:
The current content handler, or null if none was set.
See Also:
XMLReader.setContentHandler(org.xml.sax.ContentHandler)
Since:
BlackBerry API 4.3.0

setErrorHandler

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

Specified by:
setErrorHandler in interface XMLReader
Parameters:
handler - the new error handler
See Also:
XMLReader.getErrorHandler()
Since:
BlackBerry API 4.3.0

getErrorHandler

public ErrorHandler getErrorHandler()
Get the current error event handler.

Specified by:
getErrorHandler in interface XMLReader
Returns:
The current error handler, or null if none was set.
See Also:
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler)
Since:
BlackBerry API 4.3.0

parse

public void parse(InputSource input)
           throws SAXException,
                  IOException
Parse a document.

Specified by:
parse in interface XMLReader
Parameters:
input - The input source for the document entity.
Throws:
SAXException - Any SAX exception, possibly wrapping another exception.
IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
See Also:
InputSource, XMLReader.parse(java.lang.String), XMLReader.setEntityResolver(org.xml.sax.EntityResolver), XMLReader.setDTDHandler(org.xml.sax.DTDHandler), XMLReader.setContentHandler(org.xml.sax.ContentHandler), XMLReader.setErrorHandler(org.xml.sax.ErrorHandler)
Since:
BlackBerry API 4.3.0

parse

public void parse(String systemId)
           throws SAXException,
                  IOException
Parse a document.

Specified by:
parse in interface XMLReader
Parameters:
systemId - The system identifier as a fully-qualified URI.
Throws:
SAXException - Any SAX exception, possibly wrapping another exception.
IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
See Also:
XMLReader.parse(org.xml.sax.InputSource)
Since:
BlackBerry API 4.3.0

resolveEntity

public InputSource resolveEntity(String publicId,
                                 String systemId)
                          throws SAXException,
                                 IOException
Filter an external entity resolution.

Specified by:
resolveEntity in interface EntityResolver
Parameters:
publicId - The entity's public identifier, or null.
systemId - The entity's system identifier.
Returns:
A new InputSource or null for the default.
Throws:
SAXException - The client may throw an exception during processing.
IOException - The client may throw an I/O-related exception while obtaining the new InputSource.
See Also:
InputSource
Since:
BlackBerry API 4.3.0

notationDecl

public void notationDecl(String name,
                         String publicId,
                         String systemId)
                  throws SAXException
Filter a notation declaration event.

Specified by:
notationDecl in interface DTDHandler
Parameters:
name - The notation name.
publicId - The notation's public identifier, or null.
systemId - The notation's system identifier, or null.
Throws:
SAXException - The client may throw an exception during processing.
See Also:
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String), Attributes
Since:
BlackBerry API 4.3.0

unparsedEntityDecl

public void unparsedEntityDecl(String name,
                               String publicId,
                               String systemId,
                               String notationName)
                        throws SAXException
Filter an unparsed entity declaration event.

Specified by:
unparsedEntityDecl in interface DTDHandler
Parameters:
name - The entity name.
publicId - The entity's public identifier, or null.
systemId - The entity's system identifier, or null.
notationName - The name of the associated notation.
Throws:
SAXException - The client may throw an exception during processing.
See Also:
DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String), Attributes
Since:
BlackBerry API 4.3.0

setDocumentLocator

public void setDocumentLocator(Locator locator)
Filter a new document locator event.

Specified by:
setDocumentLocator in interface ContentHandler
Parameters:
locator - The document locator.
See Also:
Locator
Since:
BlackBerry API 4.3.0

startDocument

public void startDocument()
                   throws SAXException
Filter a start document event.

Specified by:
startDocument in interface ContentHandler
Throws:
SAXException - The client may throw an exception during processing.
See Also:
ContentHandler.endDocument()
Since:
BlackBerry API 4.3.0

endDocument

public void endDocument()
                 throws SAXException
Filter an end document event.

Specified by:
endDocument in interface ContentHandler
Throws:
SAXException - The client may throw an exception during processing.
See Also:
ContentHandler.startDocument()
Since:
BlackBerry API 4.3.0

startPrefixMapping

public void startPrefixMapping(String prefix,
                               String uri)
                        throws SAXException
Filter a start Namespace prefix mapping event.

Specified by:
startPrefixMapping in interface ContentHandler
Parameters:
prefix - The Namespace prefix.
uri - The Namespace URI.
Throws:
SAXException - The client may throw an exception during processing.
See Also:
ContentHandler.endPrefixMapping(java.lang.String), ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
Since:
BlackBerry API 4.3.0

endPrefixMapping

public void endPrefixMapping(String prefix)
                      throws SAXException
Filter an end Namespace prefix mapping event.

Specified by:
endPrefixMapping in interface ContentHandler
Parameters:
prefix - The Namespace prefix.
Throws:
SAXException - The client may throw an exception during processing.
See Also:
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String), ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
Since:
BlackBerry API 4.3.0

startElement

public void startElement(String uri,
                         String localName,
                         String qName,
                         Attributes atts)
                  throws SAXException
Filter a start element event.

Specified by:
startElement in interface ContentHandler
Parameters:
uri - The element's Namespace URI, or the empty string.
localName - The element's local name, or the empty string.
qName - The element's qualified (prefixed) name, or the empty string.
atts - The element's attributes.
Throws:
SAXException - The client may throw an exception during processing.
See Also:
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String), Attributes, AttributesImpl
Since:
BlackBerry API 4.3.0

endElement

public void endElement(String uri,
                       String localName,
                       String qName)
                throws SAXException
Filter an end element event.

Specified by:
endElement in interface ContentHandler
Parameters:
uri - The element's Namespace URI, or the empty string.
localName - The element's local name, or the empty string.
qName - The element's qualified (prefixed) name, or the empty string.
Throws:
SAXException - The client may throw an exception during processing.
Since:
BlackBerry API 4.3.0

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws SAXException
Filter a character data event.

Specified by:
characters in interface ContentHandler
Parameters:
ch - An array of characters.
start - The starting position in the array.
length - The number of characters to use from the array.
Throws:
SAXException - The client may throw an exception during processing.
See Also:
ContentHandler.ignorableWhitespace(char[], int, int), Locator
Since:
BlackBerry API 4.3.0

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws SAXException
Filter an ignorable whitespace event.

Specified by:
ignorableWhitespace in interface ContentHandler
Parameters:
ch - An array of characters.
start - The starting position in the array.
length - The number of characters to use from the array.
Throws:
SAXException - The client may throw an exception during processing.
See Also:
ContentHandler.characters(char[], int, int)
Since:
BlackBerry API 4.3.0

processingInstruction

public void processingInstruction(String target,
                                  String data)
                           throws SAXException
Filter a processing instruction event.

Specified by:
processingInstruction in interface ContentHandler
Parameters:
target - The processing instruction target.
data - The text following the target.
Throws:
SAXException - The client may throw an exception during processing.
Since:
BlackBerry API 4.3.0

skippedEntity

public void skippedEntity(String name)
                   throws SAXException
Filter a skipped entity event.

Specified by:
skippedEntity in interface ContentHandler
Parameters:
name - The name of the skipped entity.
Throws:
SAXException - The client may throw an exception during processing.
Since:
BlackBerry API 4.3.0

warning

public void warning(SAXParseException e)
             throws SAXException
Filter a warning event.

Specified by:
warning in interface ErrorHandler
Parameters:
e - The warning as an exception.
Throws:
SAXException - The client may throw an exception during processing.
See Also:
SAXParseException
Since:
BlackBerry API 4.3.0

error

public void error(SAXParseException e)
           throws SAXException
Filter an error event.

Specified by:
error in interface ErrorHandler
Parameters:
e - The error as an exception.
Throws:
SAXException - The client may throw an exception during processing.
See Also:
SAXParseException
Since:
BlackBerry API 4.3.0

fatalError

public void fatalError(SAXParseException e)
                throws SAXException
Filter a fatal error event.

Specified by:
fatalError in interface ErrorHandler
Parameters:
e - The error as an exception.
Throws:
SAXException - The client may throw an exception during processing.
See Also:
SAXParseException
Since:
BlackBerry API 4.3.0





Copyright 1999-2010 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark of Sun Microsystems, Inc.