domex.java

来自「kaffe Java 解释器语言,源码,Java的子集系统,开放源代码」· Java 代码 · 共 147 行

JAVA
147
字号
/* * Copyright (C) 1999-2001 David Brownell *  * This file is part of GNU JAXP, a library. * * GNU JAXP is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. *  * GNU JAXP is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. *  * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * * As a special exception, if you link this library with other files to * produce an executable, this library does not by itself cause the * resulting executable to be covered by the GNU General Public License. * This exception does not however invalidate any other reasons why the * executable file might be covered by the GNU General Public License.  */package gnu.xml.dom;import org.w3c.dom.*;/** * <p> DOMException implementation.   The version that * is provided by the W3C is abstract, so it can't be instantiated. * * <p> This also provides a bit more information about the error * that is being reported, in terms of the relevant DOM structures * and data. * * @author David Brownell  */public class DomEx extends DOMException{    /** @serial Data that caused an error to be reported */    private String data;    /** @serial Node associated with the error. */    private Node node;    /** @serial Data associated with the error. */    private int value;    /**     * Constructs an exception, with the diagnostic message     * corresponding to the specified code.     */    public DomEx (short code)    {	super (code, diagnostic (code));    }    /**     * Constructs an exception, with the diagnostic message     * corresponding to the specified code and additional     * information as provided.     */    public DomEx (short code, String data, Node node, int value)    {	super (code, diagnostic (code));	this.data = data;	this.node = node;	this.value = value;    }    /** Returns the node to which the diagnotic applies, or null. */    final public Node getNode () { return node; }    /** Returns data to which the diagnotic applies, or null. */    final public String getData () { return data; }    /** Returns data to which the diagnotic applies, or null. */    final public int getValue () { return value; }    /**     * Returns a diagnostic message that may be slightly more useful     * than the generic one, where possible.     */    public String getMessage ()    {	String retval = super.getMessage ();	if (data != null)	    retval += "\nMore Information: " + data;	if (value != 0)	    retval += "\nNumber: " + value;	if (node != null)	    retval += "\nNode Name: " + node.getNodeName ();	return retval;    }    // these strings should be localizable.    private static String diagnostic (short code)    {	switch (code) {	    // DOM L1:	    case INDEX_SIZE_ERR:		return "An index or size is out of range.";	    case DOMSTRING_SIZE_ERR:		return "A string is too big.";	    case HIERARCHY_REQUEST_ERR:		return "The node doesn't belong here.";	    case WRONG_DOCUMENT_ERR:		return "The node belongs in another document.";	    case INVALID_CHARACTER_ERR:		return "That character is not permitted.";	    case NO_DATA_ALLOWED_ERR:		return "This node does not permit data.";	    case NO_MODIFICATION_ALLOWED_ERR:		return "No changes are allowed.";	    case NOT_FOUND_ERR:		return "The node was not found in that context.";	    case NOT_SUPPORTED_ERR:		return "That object is not supported.";	    case INUSE_ATTRIBUTE_ERR:		return "The attribute belongs to a different element.";	    // DOM L2:	    case INVALID_STATE_ERR:		return "The object is not usable.";	    case SYNTAX_ERR:		return "An illegal string was provided.";	    case INVALID_MODIFICATION_ERR:		return "An object's type may not be changed.";	    case NAMESPACE_ERR:		return "The operation violates XML Namespaces.";	    case INVALID_ACCESS_ERR:		return "Parameter or operation isn't supported by this node.";	}	return "Reserved exception number: " + code;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?