13 November, 2000

# Appendix D: Java Language Binding

This appendix contains the complete Java Language [Java] binding for the Level 2 Document Object Model Core.

The Java files are also available as http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/java-binding.zip

### org/w3c/dom/DOMException.java:

    package org.w3c.dom;

    public class DOMException extends RuntimeException {
        public DOMException(short code, String message) {
           super(message);
           this.code = code;
        }
        public short   code;
        // ExceptionCode
        public static final short INDEX_SIZE_ERR            = 1;
        public static final short DOMSTRING_SIZE_ERR        = 2;
        public static final short HIERARCHY_REQUEST_ERR     = 3;
        public static final short WRONG_DOCUMENT_ERR        = 4;
        public static final short INVALID_CHARACTER_ERR     = 5;
        public static final short NO_DATA_ALLOWED_ERR       = 6;
        public static final short NO_MODIFICATION_ALLOWED_ERR = 7;
        public static final short NOT_FOUND_ERR             = 8;
        public static final short NOT_SUPPORTED_ERR         = 9;
        public static final short INUSE_ATTRIBUTE_ERR       = 10;
        public static final short INVALID_STATE_ERR         = 11;
        public static final short SYNTAX_ERR                = 12;
        public static final short INVALID_MODIFICATION_ERR  = 13;
        public static final short NAMESPACE_ERR             = 14;
        public static final short INVALID_ACCESS_ERR        = 15;

    }

### org/w3c/dom/DOMImplementation.java:

    package org.w3c.dom;

    public interface DOMImplementation {
        public boolean hasFeature(String feature,
                                  String version);

        public DocumentType createDocumentType(String qualifiedName,
                                               String publicId,
                                               String systemId)
                                               throws DOMException;

        public Document createDocument(String namespaceURI,
                                       String qualifiedName,
                                       DocumentType doctype)
                                       throws DOMException;

    }

### org/w3c/dom/DocumentFragment.java:

    package org.w3c.dom;

    public interface DocumentFragment extends Node {
    }

### org/w3c/dom/Document.java:

    package org.w3c.dom;

    public interface Document extends Node {
        public DocumentType getDoctype();

        public DOMImplementation getImplementation();

        public Element getDocumentElement();

        public Element createElement(String tagName)
                                     throws DOMException;

        public DocumentFragment createDocumentFragment();

        public Text createTextNode(String data);

        public Comment createComment(String data);

        public CDATASection createCDATASection(String data)
                                               throws DOMException;

        public ProcessingInstruction createProcessingInstruction(String target,
                                                                 String data)
                                                                 throws DOMException;

        public Attr createAttribute(String name)
                                    throws DOMException;

        public EntityReference createEntityReference(String name)
                                                     throws DOMException;

        public NodeList getElementsByTagName(String tagname);

        public Node importNode(Node importedNode,
                               boolean deep)
                               throws DOMException;

        public Element createElementNS(String namespaceURI,
                                       String qualifiedName)
                                       throws DOMException;

        public Attr createAttributeNS(String namespaceURI,
                                      String qualifiedName)
                                      throws DOMException;

        public NodeList getElementsByTagNameNS(String namespaceURI,
                                               String localName);

        public Element getElementById(String elementId);

    }

### org/w3c/dom/Node.java:

    package org.w3c.dom;

    public interface Node {
        // NodeType
        public static final short ELEMENT_NODE              = 1;
        public static final short ATTRIBUTE_NODE            = 2;
        public static final short TEXT_NODE                 = 3;
        public static final short CDATA_SECTION_NODE        = 4;
        public static final short ENTITY_REFERENCE_NODE     = 5;
        public static final short ENTITY_NODE               = 6;
        public static final short PROCESSING_INSTRUCTION_NODE = 7;
        public static final short COMMENT_NODE              = 8;
        public static final short DOCUMENT_NODE             = 9;
        public static final short DOCUMENT_TYPE_NODE        = 10;
        public static final short DOCUMENT_FRAGMENT_NODE    = 11;
        public static final short NOTATION_NODE             = 12;

        public String getNodeName();

        public String getNodeValue()
                                      throws DOMException;
        public void setNodeValue(String nodeValue)
                                      throws DOMException;

        public short getNodeType();

        public Node getParentNode();

        public NodeList getChildNodes();

        public Node getFirstChild();

        public Node getLastChild();

        public Node getPreviousSibling();

        public Node getNextSibling();

        public NamedNodeMap getAttributes();

        public Document getOwnerDocument();

        public Node insertBefore(Node newChild,
                                 Node refChild)
                                 throws DOMException;

        public Node replaceChild(Node newChild,
                                 Node oldChild)
                                 throws DOMException;

        public Node removeChild(Node oldChild)
                                throws DOMException;

        public Node appendChild(Node newChild)
                                throws DOMException;

        public boolean hasChildNodes();

        public Node cloneNode(boolean deep);

        public void normalize();

        public boolean isSupported(String feature,
                                   String version);

        public String getNamespaceURI();

        public String getPrefix();
        public void setPrefix(String prefix)
                                   throws DOMException;

        public String getLocalName();

        public boolean hasAttributes();

    }

### org/w3c/dom/NodeList.java:

    package org.w3c.dom;

    public interface NodeList {
        public Node item(int index);

        public int getLength();

    }

### org/w3c/dom/NamedNodeMap.java:

    package org.w3c.dom;

    public interface NamedNodeMap {
        public Node getNamedItem(String name);

        public Node setNamedItem(Node arg)
                                 throws DOMException;

        public Node removeNamedItem(String name)
                                    throws DOMException;

        public Node item(int index);

        public int getLength();

        public Node getNamedItemNS(String namespaceURI,
                                   String localName);

        public Node setNamedItemNS(Node arg)
                                   throws DOMException;

        public Node removeNamedItemNS(String namespaceURI,
                                      String localName)
                                      throws DOMException;

    }

### org/w3c/dom/CharacterData.java:

    package org.w3c.dom;

    public interface CharacterData extends Node {
        public String getData()
                                      throws DOMException;
        public void setData(String data)
                                      throws DOMException;

        public int getLength();

        public String substringData(int offset,
                                    int count)
                                    throws DOMException;

        public void appendData(String arg)
                               throws DOMException;

        public void insertData(int offset,
                               String arg)
                               throws DOMException;

        public void deleteData(int offset,
                               int count)
                               throws DOMException;

        public void replaceData(int offset,
                                int count,
                                String arg)
                                throws DOMException;

    }

### org/w3c/dom/Attr.java:

    package org.w3c.dom;

    public interface Attr extends Node {
        public String getName();

        public boolean getSpecified();

        public String getValue();
        public void setValue(String value)
                                throws DOMException;

        public Element getOwnerElement();

    }

### org/w3c/dom/Element.java:

    package org.w3c.dom;

    public interface Element extends Node {
        public String getTagName();

        public String getAttribute(String name);

        public void setAttribute(String name,
                                 String value)
                                 throws DOMException;

        public void removeAttribute(String name)
                                    throws DOMException;

        public Attr getAttributeNode(String name);

        public Attr setAttributeNode(Attr newAttr)
                                     throws DOMException;

        public Attr removeAttributeNode(Attr oldAttr)
                                        throws DOMException;

        public NodeList getElementsByTagName(String name);

        public String getAttributeNS(String namespaceURI,
                                     String localName);

        public void setAttributeNS(String namespaceURI,
                                   String qualifiedName,
                                   String value)
                                   throws DOMException;

        public void removeAttributeNS(String namespaceURI,
                                      String localName)
                                      throws DOMException;

        public Attr getAttributeNodeNS(String namespaceURI,
                                       String localName);

        public Attr setAttributeNodeNS(Attr newAttr)
                                       throws DOMException;

        public NodeList getElementsByTagNameNS(String namespaceURI,
                                               String localName);

        public boolean hasAttribute(String name);

        public boolean hasAttributeNS(String namespaceURI,
                                      String localName);

    }

### org/w3c/dom/Text.java:

    package org.w3c.dom;

    public interface Text extends CharacterData {
        public Text splitText(int offset)
                              throws DOMException;

    }

### org/w3c/dom/Comment.java:

    package org.w3c.dom;

    public interface Comment extends CharacterData {
    }

### org/w3c/dom/CDATASection.java:

    package org.w3c.dom;

    public interface CDATASection extends Text {
    }

### org/w3c/dom/DocumentType.java:

    package org.w3c.dom;

    public interface DocumentType extends Node {
        public String getName();

        public NamedNodeMap getEntities();

        public NamedNodeMap getNotations();

        public String getPublicId();

        public String getSystemId();

        public String getInternalSubset();

    }

### org/w3c/dom/Notation.java:

    package org.w3c.dom;

    public interface Notation extends Node {
        public String getPublicId();

        public String getSystemId();

    }

### org/w3c/dom/Entity.java:

    package org.w3c.dom;

    public interface Entity extends Node {
        public String getPublicId();

        public String getSystemId();

        public String getNotationName();

    }

### org/w3c/dom/EntityReference.java:

    package org.w3c.dom;

    public interface EntityReference extends Node {
    }

### org/w3c/dom/ProcessingInstruction.java:

    package org.w3c.dom;

    public interface ProcessingInstruction extends Node {
        public String getTarget();

        public String getData();
        public void setData(String data)
                              throws DOMException;

    }