errorhandlerproxy.java

来自「JAVA 所有包」· Java 代码 · 共 78 行

JAVA
78
字号
/* * Copyright 2005 The Apache Software Foundation. *  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.sun.org.apache.xerces.internal.util;import com.sun.org.apache.xerces.internal.xni.parser.XMLErrorHandler;import org.xml.sax.ErrorHandler;import org.xml.sax.SAXException;import org.xml.sax.SAXParseException;/** * Wraps {@link XMLErrorHandler} and make it look like a SAX {@link ErrorHandler}.   *  * <p> * The derived class should override the {@link #getErrorHandler()} method * so that it will return the correct {@link XMLErrorHandler} instance. * This method will be called whenever an error/warning is found. *  * <p> * Experience shows that it is better to store the actual * {@link XMLErrorHandler} in one place and looks up that variable, * rather than copying it into every component that needs an error handler * and update all of them whenever it is changed, IMO. *  * @author Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com) *  * @version $Id: ErrorHandlerProxy.java,v 1.2.6.1 2005/09/05 07:54:22 neerajbj Exp $ */public abstract class ErrorHandlerProxy implements ErrorHandler {        public void error(SAXParseException e) throws SAXException {        XMLErrorHandler eh = getErrorHandler();        if (eh instanceof ErrorHandlerWrapper) {            ((ErrorHandlerWrapper)eh).fErrorHandler.error(e);        }        else {            eh.error("","",ErrorHandlerWrapper.createXMLParseException(e));        }        // if an XNIException is thrown, just let it go.        // REVISIT: is this OK? or should we try to wrap it into SAXException?    }    public void fatalError(SAXParseException e) throws SAXException {        XMLErrorHandler eh = getErrorHandler();        if (eh instanceof ErrorHandlerWrapper) {            ((ErrorHandlerWrapper)eh).fErrorHandler.fatalError(e);        }        else {            eh.fatalError("","",ErrorHandlerWrapper.createXMLParseException(e));        }    }    public void warning(SAXParseException e) throws SAXException {        XMLErrorHandler eh = getErrorHandler();        if (eh instanceof ErrorHandlerWrapper) {            ((ErrorHandlerWrapper)eh).fErrorHandler.warning(e);        }        else {            eh.warning("","",ErrorHandlerWrapper.createXMLParseException(e));        }    }    protected abstract XMLErrorHandler getErrorHandler();}

⌨️ 快捷键说明

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