07 April 2004

Appendix B: Java Language Binding

This appendix contains the complete Java [Java] bindings for the Level 3 Document Object Model Load and Save.

The Java files are also available as http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/java-binding.zip

org/w3c/dom/ls/LSException.java:

package org.w3c.dom.ls;

public class LSException extends RuntimeException {
    public LSException(short code, String message) {
       super(message);
       this.code = code;
    }
    public short   code;
    // LSExceptionCode
    public static final short PARSE_ERR                 = 81;
    public static final short SERIALIZE_ERR             = 82;

}

org/w3c/dom/ls/DOMImplementationLS.java:

package org.w3c.dom.ls;

import org.w3c.dom.DOMException;

public interface DOMImplementationLS {
    // DOMImplementationLSMode
    public static final short MODE_SYNCHRONOUS          = 1;
    public static final short MODE_ASYNCHRONOUS         = 2;

    public LSParser createLSParser(short mode, 
                                   String schemaType)
                                   throws DOMException;

    public LSSerializer createLSSerializer();

    public LSInput createLSInput();

    public LSOutput createLSOutput();

}

org/w3c/dom/ls/LSParser.java:

package org.w3c.dom.ls;

import org.w3c.dom.Document;
import org.w3c.dom.DOMConfiguration;
import org.w3c.dom.Node;
import org.w3c.dom.DOMException;

public interface LSParser {
    public DOMConfiguration getDomConfig();

    public LSParserFilter getFilter();
    public void setFilter(LSParserFilter filter);

    public boolean getAsync();

    public boolean getBusy();

    public Document parse(LSInput input)
                          throws DOMException, LSException;

    public Document parseURI(String uri)
                             throws DOMException, LSException;

    // ACTION_TYPES
    public static final short ACTION_APPEND_AS_CHILDREN = 1;
    public static final short ACTION_REPLACE_CHILDREN   = 2;
    public static final short ACTION_INSERT_BEFORE      = 3;
    public static final short ACTION_INSERT_AFTER       = 4;
    public static final short ACTION_REPLACE            = 5;

    public Node parseWithContext(LSInput input, 
                                 Node contextArg, 
                                 short action)
                                 throws DOMException, LSException;

    public void abort();

}

org/w3c/dom/ls/LSInput.java:

package org.w3c.dom.ls;

public interface LSInput {
    public java.io.Reader getCharacterStream();
    public void setCharacterStream(java.io.Reader characterStream);

    public java.io.InputStream getByteStream();
    public void setByteStream(java.io.InputStream byteStream);

    public String getStringData();
    public void setStringData(String stringData);

    public String getSystemId();
    public void setSystemId(String systemId);

    public String getPublicId();
    public void setPublicId(String publicId);

    public String getBaseURI();
    public void setBaseURI(String baseURI);

    public String getEncoding();
    public void setEncoding(String encoding);

    public boolean getCertifiedText();
    public void setCertifiedText(boolean certifiedText);

}

org/w3c/dom/ls/LSResourceResolver.java:

package org.w3c.dom.ls;

public interface LSResourceResolver {
    public LSInput resolveResource(String type, 
                                   String namespaceURI, 
                                   String publicId, 
                                   String systemId, 
                                   String baseURI);

}

org/w3c/dom/ls/LSParserFilter.java:

package org.w3c.dom.ls;

import org.w3c.dom.Node;
import org.w3c.dom.Element;

public interface LSParserFilter {
    // Constants returned by startElement and acceptNode
    public static final short FILTER_ACCEPT             = 1;
    public static final short FILTER_REJECT             = 2;
    public static final short FILTER_SKIP               = 3;
    public static final short FILTER_INTERRUPT          = 4;

    public short startElement(Element elementArg);

    public short acceptNode(Node nodeArg);

    public int getWhatToShow();

}

org/w3c/dom/ls/LSProgressEvent.java:

package org.w3c.dom.ls;

import org.w3c.dom.events.Event;

public interface LSProgressEvent extends Event {
    public LSInput getInput();

    public int getPosition();

    public int getTotalSize();

}

org/w3c/dom/ls/LSLoadEvent.java:

package org.w3c.dom.ls;

import org.w3c.dom.Document;
import org.w3c.dom.events.Event;

public interface LSLoadEvent extends Event {
    public Document getNewDocument();

    public LSInput getInput();

}

org/w3c/dom/ls/LSSerializer.java:

package org.w3c.dom.ls;

import org.w3c.dom.DOMConfiguration;
import org.w3c.dom.Node;
import org.w3c.dom.DOMException;

public interface LSSerializer {
    public DOMConfiguration getDomConfig();

    public String getNewLine();
    public void setNewLine(String newLine);

    public LSSerializerFilter getFilter();
    public void setFilter(LSSerializerFilter filter);

    public boolean write(Node nodeArg, 
                         LSOutput destination)
                         throws LSException;

    public boolean writeToURI(Node nodeArg, 
                              String uri)
                              throws LSException;

    public String writeToString(Node nodeArg)
                                throws DOMException, LSException;

}

org/w3c/dom/ls/LSOutput.java:

package org.w3c.dom.ls;

public interface LSOutput {
    public java.io.Writer getCharacterStream();
    public void setCharacterStream(java.io.Writer characterStream);

    public java.io.OutputStream getByteStream();
    public void setByteStream(java.io.OutputStream byteStream);

    public String getSystemId();
    public void setSystemId(String systemId);

    public String getEncoding();
    public void setEncoding(String encoding);

}

org/w3c/dom/ls/LSSerializerFilter.java:

package org.w3c.dom.ls;

import org.w3c.dom.traversal.NodeFilter;

public interface LSSerializerFilter extends NodeFilter {
    public int getWhatToShow();

}