Home | History | Annotate | Download | only in sax
      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      */
     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      */
     61     public abstract XMLReader getParent ();
     62 
     63 }
     64 
     65 // end of XMLFilter.java
     66