1 /* 2 * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 // XMLFilter.java - filter SAX2 events. 27 // http://www.saxproject.org 28 // Written by David Megginson 29 // NO WARRANTY! This class is in the Public Domain. 30 // $Id: XMLFilter.java,v 1.2 2004/11/03 22:55:32 jsuttor Exp $ 31 32 package org.xml.sax; 33 34 35 /** 36 * Interface for an XML filter. 37 * 38 * <blockquote> 39 * <em>This module, both source code and documentation, is in the 40 * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em> 41 * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a> 42 * for further information. 43 * </blockquote> 44 * 45 * <p>An XML filter is like an XML reader, except that it obtains its 46 * events from another XML reader rather than a primary source like 47 * an XML document or database. Filters can modify a stream of 48 * events as they pass on to the final application.</p> 49 * 50 * <p>The XMLFilterImpl helper class provides a convenient base 51 * for creating SAX2 filters, by passing on all {@link org.xml.sax.EntityResolver 52 * EntityResolver}, {@link org.xml.sax.DTDHandler DTDHandler}, 53 * {@link org.xml.sax.ContentHandler ContentHandler} and {@link org.xml.sax.ErrorHandler 54 * ErrorHandler} events automatically.</p> 55 * 56 * @since SAX 2.0 57 * @author David Megginson 58 * @see org.xml.sax.helpers.XMLFilterImpl 59 */ 60 public interface XMLFilter extends XMLReader 61 { 62 63 /** 64 * Set the parent reader. 65 * 66 * <p>This method allows the application to link the filter to 67 * a parent reader (which may be another filter). The argument 68 * may not be null.</p> 69 * 70 * @param parent The parent reader. 71 */ 72 public abstract void setParent (XMLReader parent); 73 74 75 /** 76 * Get the parent reader. 77 * 78 * <p>This method allows the application to query the parent 79 * reader (which may be another filter). It is generally a 80 * bad idea to perform any operations on the parent reader 81 * directly: they should all pass through this filter.</p> 82 * 83 * @return The parent filter, or null if none has been set. 84 */ 85 public abstract XMLReader getParent (); 86 87 } 88 89 // end of XMLFilter.java