001: /*
002: * $Id: XMLEntityHandler.java,v 1.2 2006/04/01 06:01:47 jeffsuttor Exp $
003: */
004:
005: /*
006: * The contents of this file are subject to the terms
007: * of the Common Development and Distribution License
008: * (the License). You may not use this file except in
009: * compliance with the License.
010: *
011: * You can obtain a copy of the license at
012: * https://glassfish.dev.java.net/public/CDDLv1.0.html.
013: * See the License for the specific language governing
014: * permissions and limitations under the License.
015: *
016: * When distributing Covered Code, include this CDDL
017: * Header Notice in each file and include the License file
018: * at https://glassfish.dev.java.net/public/CDDLv1.0.html.
019: * If applicable, add the following below the CDDL Header,
020: * with the fields enclosed by brackets [] replaced by
021: * you own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * [Name of File] [ver.__] [Date]
025: *
026: * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
027: */
028:
029: /*
030: * The Apache Software License, Version 1.1
031: *
032: *
033: * Copyright (c) 2000-2002 The Apache Software Foundation. All rights
034: * reserved.
035: *
036: * Redistribution and use in source and binary forms, with or without
037: * modification, are permitted provided that the following conditions
038: * are met:
039: *
040: * 1. Redistributions of source code must retain the above copyright
041: * notice, this list of conditions and the following disclaimer.
042: *
043: * 2. Redistributions in binary form must reproduce the above copyright
044: * notice, this list of conditions and the following disclaimer in
045: * the documentation and/or other materials provided with the
046: * distribution.
047: *
048: * 3. The end-user documentation included with the redistribution,
049: * if any, must include the following acknowledgment:
050: * "This product includes software developed by the
051: * Apache Software Foundation (http://www.apache.org/)."
052: * Alternately, this acknowledgment may appear in the software itself,
053: * if and wherever such third-party acknowledgments normally appear.
054: *
055: * 4. The names "Xerces" and "Apache Software Foundation" must
056: * not be used to endorse or promote products derived from this
057: * software without prior written permission. For written
058: * permission, please contact apache@apache.org.
059: *
060: * 5. Products derived from this software may not be called "Apache",
061: * nor may "Apache" appear in their name, without prior written
062: * permission of the Apache Software Foundation.
063: *
064: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
065: * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
066: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
067: * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
068: * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
069: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
070: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
071: * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
072: * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
073: * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
074: * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
075: * SUCH DAMAGE.
076: * ====================================================================
077: *
078: * This software consists of voluntary contributions made by many
079: * individuals on behalf of the Apache Software Foundation and was
080: * originally based on software copyright (c) 1999, International
081: * Business Machines, Inc., http://www.apache.org. For more
082: * information on the Apache Software Foundation, please see
083: * <http://www.apache.org/>.
084: */
085:
086: package com.sun.xml.stream;
087:
088: import java.io.IOException;
089: import com.sun.xml.stream.xerces.xni.XMLResourceIdentifier;
090: import com.sun.xml.stream.xerces.xni.XNIException;
091:
092: /**
093: * The entity handler interface defines methods to report information
094: * about the start and end of entities.
095: *
096: * @see com.sun.xml.stream.xerces.impl.XMLEntityScanner
097: *
098: * @author Andy Clark, IBM
099: *
100: * @version $Id: XMLEntityHandler.java,v 1.2 2006/04/01 06:01:47 jeffsuttor Exp $
101: */
102: public interface XMLEntityHandler {
103:
104: //
105: // XMLEntityHandler methods
106: //
107:
108: /**
109: * This method notifies of the start of an entity. The DTD has the
110: * pseudo-name of "[dtd]" parameter entity names start with '%'; and
111: * general entities are just specified by their name.
112: *
113: * @param name The name of the entity.
114: * @param identifier The resource identifier.
115: * @param encoding The auto-detected IANA encoding name of the entity
116: * stream. This value will be null in those situations
117: * where the entity encoding is not auto-detected (e.g.
118: * internal entities or a document entity that is
119: * parsed from a java.io.Reader).
120: *
121: * @throws XNIException Thrown by handler to signal an error.
122: */
123: public void startEntity(String name,
124: XMLResourceIdentifier identifier, String encoding)
125: throws XNIException;
126:
127: /**
128: * This method notifies the end of an entity. The DTD has the pseudo-name
129: * of "[dtd]" parameter entity names start with '%'; and general entities
130: * are just specified by their name.
131: *
132: * @param name The name of the entity.
133: *
134: * @throws XNIException Thrown by handler to signal an error.
135: */
136: public void endEntity(String name) throws XNIException, IOException;
137:
138: } // interface XMLEntityHandler
|