1 // XMLFilter.java - filter SAX2 events. 2 // http://www.saxproject.org 3 // Written by David Megginson 4 // NO WARRANTY! This class is in the Public Domain. 5 // $Id: XMLFilter.java,v 1.6 2002/01/30 21:13:48 dbrownell Exp $ 6 7 package org.xml.sax; 8 9 10 /** 11 * Interface for an XML filter. 12 * 13 * <blockquote> 14 * <em>This module, both source code and documentation, is in the 15 * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em> 16 * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a> 17 * for further information. 18 * </blockquote> 19 * 20 * <p>An XML filter is like an XML reader, except that it obtains its 21 * events from another XML reader rather than a primary source like 22 * an XML document or database. Filters can modify a stream of 23 * events as they pass on to the final application.</p> 24 * 25 * <p>The XMLFilterImpl helper class provides a convenient base 26 * for creating SAX2 filters, by passing on all {@link org.xml.sax.EntityResolver 27 * EntityResolver}, {@link org.xml.sax.DTDHandler DTDHandler}, 28 * {@link org.xml.sax.ContentHandler ContentHandler} and {@link org.xml.sax.ErrorHandler 29 * ErrorHandler} events automatically.</p> 30 * 31 * @since SAX 2.0 32 * @author David Megginson 33 * @version 2.0.1 (sax2r2) 34 * @see org.xml.sax.helpers.XMLFilterImpl 35 */ 36 public interface XMLFilter extends XMLReader 37 { 38 39 /** 40 * Set the parent reader. 41 * 42 * <p>This method allows the application to link the filter to 43 * a parent reader (which may be another filter). The argument 44 * may not be null.</p> 45 * 46 * @param parent The parent reader. 47 */ setParent(XMLReader parent)48 public abstract void setParent (XMLReader parent); 49 50 51 /** 52 * Get the parent reader. 53 * 54 * <p>This method allows the application to query the parent 55 * reader (which may be another filter). It is generally a 56 * bad idea to perform any operations on the parent reader 57 * directly: they should all pass through this filter.</p> 58 * 59 * @return The parent filter, or null if none has been set. 60 */ getParent()61 public abstract XMLReader getParent (); 62 63 } 64 65 // end of XMLFilter.java 66