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

📄 w3cdomhandler.java

📁 java1.6众多例子参考
💻 JAVA
字号:
/* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.xml.bind.annotation;import org.w3c.dom.Document;import org.w3c.dom.DocumentFragment;import org.w3c.dom.Element;import org.w3c.dom.Node;import javax.xml.bind.ValidationEventHandler;import javax.xml.parsers.DocumentBuilder;import javax.xml.transform.Source;import javax.xml.transform.dom.DOMResult;import javax.xml.transform.dom.DOMSource;/** * {@link DomHandler} implementation for W3C DOM (<code>org.w3c.dom</code> package.) * * @author Kohsuke Kawaguchi * @since JAXB2.0 */public class W3CDomHandler implements DomHandler<Element,DOMResult> {    private DocumentBuilder builder;    /**     * Default constructor.     *     * It is up to a JAXB provider to decide which DOM implementation     * to use or how that is configured.     */    public W3CDomHandler() {        this.builder = null;    }    /**     * Constructor that allows applications to specify which DOM implementation     * to be used.     *     * @param builder     *      must not be null. JAXB uses this {@link DocumentBuilder} to create     *      a new element.     */    public W3CDomHandler(DocumentBuilder builder) {        if(builder==null)            throw new IllegalArgumentException();        this.builder = builder;    }    public DocumentBuilder getBuilder() {        return builder;    }    public void setBuilder(DocumentBuilder builder) {        this.builder = builder;    }    public DOMResult createUnmarshaller(ValidationEventHandler errorHandler) {        if(builder==null)            return new DOMResult();        else            return new DOMResult(builder.newDocument());    }    public Element getElement(DOMResult r) {        // JAXP spec is ambiguous about what really happens in this case,        // so work defensively        Node n = r.getNode();        if( n instanceof Document ) {            return ((Document)n).getDocumentElement();        }        if( n instanceof Element )            return (Element)n;        if( n instanceof DocumentFragment )            return (Element)n.getChildNodes().item(0);        // if the result object contains something strange,        // it is not a user problem, but it is a JAXB provider's problem.        // That's why we throw a runtime exception.        throw new IllegalStateException(n.toString());    }    public Source marshal(Element element, ValidationEventHandler errorHandler) {        return new DOMSource(element);    }}

⌨️ 快捷键说明

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