⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parserdelegator.java

📁 java1.6众多例子参考
💻 JAVA
字号:
/* * @(#)ParserDelegator.java	1.16 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.text.html.parser;import javax.swing.text.html.HTMLEditorKit;import java.io.BufferedInputStream;import java.io.IOException;import java.io.InputStream;import java.io.DataInputStream;import java.io.ObjectInputStream;import java.io.Reader;import java.io.Serializable;import java.lang.reflect.Method;/** * Responsible for starting up a new DocumentParser * each time its parse method is invoked. Stores a * reference to the dtd. * * @author  Sunita Mani * @version 1.16, 11/17/05 */public class ParserDelegator extends HTMLEditorKit.Parser implements Serializable {    private static DTD dtd = null;    protected static synchronized void setDefaultDTD() {        if (dtd == null) {	    DTD _dtd = null;	    // (PENDING) Hate having to hard code!	    String nm = "html32";	    try {		_dtd = DTD.getDTD(nm);	    } catch (IOException e) {		// (PENDING) UGLY!		System.out.println("Throw an exception: could not get default dtd: " + nm);	    }	    dtd = createDTD(_dtd, nm);        }    }    protected static DTD createDTD(DTD dtd, String name) {	InputStream in = null;	boolean debug = true;	try {	    String path = name + ".bdtd";	    in = getResourceAsStream(path);            if (in != null) {                dtd.read(new DataInputStream(new BufferedInputStream(in)));                dtd.putDTDHash(name, dtd);	    }        } catch (Exception e) {            System.out.println(e);        }        return dtd;    }    public ParserDelegator() {	if (dtd == null) {	    setDefaultDTD();	}    }    public void parse(Reader r, HTMLEditorKit.ParserCallback cb, boolean ignoreCharSet) throws IOException {	new DocumentParser(dtd).parse(r, cb, ignoreCharSet);    }    /**     * Fetch a resource relative to the ParserDelegator classfile.     * If this is called on 1.2 the loading will occur under the     * protection of a doPrivileged call to allow the ParserDelegator     * to function when used in an applet.     *     * @param name the name of the resource, relative to the     *  ParserDelegator class.     * @returns a stream representing the resource     */    static InputStream getResourceAsStream(String name) {	try {            return ResourceLoader.getResourceAsStream(name);	} catch (Throwable e) {	    // If the class doesn't exist or we have some other 	    // problem we just try to call getResourceAsStream directly.	    return ParserDelegator.class.getResourceAsStream(name);	}    }    private void readObject(ObjectInputStream s)	throws ClassNotFoundException, IOException {	s.defaultReadObject();	if (dtd == null) {	    setDefaultDTD();	}    }}

⌨️ 快捷键说明

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