View Javadoc

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.4 2004/03/19 20:17:54 maartenc 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