saxinputsource.java

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

JAVA
162
字号
/* * 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 java.io.InputStream;import java.io.Reader;import com.sun.org.apache.xerces.internal.xni.parser.XMLInputSource;import org.xml.sax.InputSource;import org.xml.sax.XMLReader;/** * <p>An <code>XMLInputSource</code> analogue to <code>javax.xml.transform.sax.SAXSource</code>.</p> *  * @version $Id: SAXInputSource.java,v 1.1.4.1 2005/09/05 09:04:49 neerajbj Exp $ */public final class SAXInputSource extends XMLInputSource {        private XMLReader fXMLReader;    private InputSource fInputSource;        public SAXInputSource() {        this(null);    }        public SAXInputSource(InputSource inputSource) {        this(null, inputSource);    }        public SAXInputSource(XMLReader reader, InputSource inputSource) {        super(inputSource != null ? inputSource.getPublicId() : null,                 inputSource != null ? inputSource.getSystemId() : null, null);        if (inputSource != null) {            setByteStream(inputSource.getByteStream());            setCharacterStream(inputSource.getCharacterStream());            setEncoding(inputSource.getEncoding());        }        fInputSource = inputSource;        fXMLReader = reader;    }        public void setXMLReader(XMLReader reader) {        fXMLReader = reader;    }        public XMLReader getXMLReader() {        return fXMLReader;    }        public void setInputSource(InputSource inputSource) {        if (inputSource != null) {            setPublicId(inputSource.getPublicId());            setSystemId(inputSource.getSystemId());            setByteStream(inputSource.getByteStream());            setCharacterStream(inputSource.getCharacterStream());            setEncoding(inputSource.getEncoding());        }        else {            setPublicId(null);            setSystemId(null);            setByteStream(null);            setCharacterStream(null);            setEncoding(null);        }        fInputSource = inputSource;    }        public InputSource getInputSource() {        return fInputSource;    }        /**      * Sets the public identifier.      *     * @param publicId The new public identifier.     */    public void setPublicId(String publicId) {        super.setPublicId(publicId);        if (fInputSource == null) {            fInputSource = new InputSource();        }        fInputSource.setPublicId(publicId);    } // setPublicId(String)        /**      * Sets the system identifier.      *     * @param systemId The new system identifier.     */    public void setSystemId(String systemId) {        super.setSystemId(systemId);        if (fInputSource == null) {            fInputSource = new InputSource();        }        fInputSource.setSystemId(systemId);    } // setSystemId(String)        /**     * Sets the byte stream. If the byte stream is not already opened     * when this object is instantiated, then the code that opens the     * stream should also set the byte stream on this object. Also, if     * the encoding is auto-detected, then the encoding should also be     * set on this object.     *     * @param byteStream The new byte stream.     */    public void setByteStream(InputStream byteStream) {        super.setByteStream(byteStream);        if (fInputSource == null) {            fInputSource = new InputSource();        }        fInputSource.setByteStream(byteStream);    } // setByteStream(InputStream)        /**     * Sets the character stream. If the character stream is not already     * opened when this object is instantiated, then the code that opens      * the stream should also set the character stream on this object.      * Also, the encoding of the byte stream used by the reader should      * also be set on this object, if known.     *     * @param charStream The new character stream.     *     * @see #setEncoding     */    public void setCharacterStream(Reader charStream) {        super.setCharacterStream(charStream);        if (fInputSource == null) {            fInputSource = new InputSource();        }        fInputSource.setCharacterStream(charStream);    } // setCharacterStream(Reader)        /**     * Sets the encoding of the stream.     *     * @param encoding The new encoding.     */    public void setEncoding(String encoding) {        super.setEncoding(encoding);        if (fInputSource == null) {            fInputSource = new InputSource();        }        fInputSource.setEncoding(encoding);    } // setEncoding(String)    } // SAXInputSource

⌨️ 快捷键说明

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