summaryrefslogtreecommitdiffstats
path: root/src/bind/java
diff options
context:
space:
mode:
authorBob Jamison <ishmalius@gmail.com>2008-03-08 22:50:44 +0000
committerishmal <ishmal@users.sourceforge.net>2008-03-08 22:50:44 +0000
commitb9bc5a4a6da6f8e5a9a9df641c172ff34c3cc034 (patch)
treee0d83e95d35906a40ac8ae7c340dcc19d093839c /src/bind/java
parentAdd items for java binding (diff)
downloadinkscape-b9bc5a4a6da6f8e5a9a9df641c172ff34c3cc034.tar.gz
inkscape-b9bc5a4a6da6f8e5a9a9df641c172ff34c3cc034.zip
First commit for java binding
(bzr r5002)
Diffstat (limited to 'src/bind/java')
-rw-r--r--src/bind/java/org/inkscape/cmn/BaseObject.java41
-rw-r--r--src/bind/java/org/inkscape/cmn/ScriptRunner.java105
-rw-r--r--src/bind/java/org/inkscape/dom/DOMBase.java70
-rw-r--r--src/bind/java/org/inkscape/dom/DOMImplementationImpl.java84
-rw-r--r--src/bind/java/org/inkscape/dom/DOMLocatorImpl.java103
-rw-r--r--src/bind/java/org/inkscape/dom/DocumentFragmentImpl.java47
-rw-r--r--src/bind/java/org/inkscape/dom/DocumentImpl.java300
-rw-r--r--src/bind/java/org/inkscape/dom/DocumentTypeImpl.java93
-rw-r--r--src/bind/java/org/inkscape/dom/ElementImpl.java209
-rw-r--r--src/bind/java/org/inkscape/dom/NamedNodeMapImpl.java109
-rw-r--r--src/bind/java/org/inkscape/dom/NodeImpl.java350
-rw-r--r--src/bind/java/org/inkscape/dom/NodeListImpl.java60
-rw-r--r--src/bind/java/org/inkscape/dom/TypeInfoImpl.java77
-rw-r--r--src/bind/java/org/inkscape/dom/UserDataHandlerImpl.java53
14 files changed, 1701 insertions, 0 deletions
diff --git a/src/bind/java/org/inkscape/cmn/BaseObject.java b/src/bind/java/org/inkscape/cmn/BaseObject.java
new file mode 100644
index 000000000..5e496b67d
--- /dev/null
+++ b/src/bind/java/org/inkscape/cmn/BaseObject.java
@@ -0,0 +1,41 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007-2008 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.cmn;
+
+public class BaseObject
+{
+
+private long _pointer;
+
+protected native void construct();
+
+protected native void destruct();
+
+public BaseObject()
+{
+ construct();
+}
+
+}
diff --git a/src/bind/java/org/inkscape/cmn/ScriptRunner.java b/src/bind/java/org/inkscape/cmn/ScriptRunner.java
new file mode 100644
index 000000000..1addfc72e
--- /dev/null
+++ b/src/bind/java/org/inkscape/cmn/ScriptRunner.java
@@ -0,0 +1,105 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.cmn;
+
+import javax.script.*;
+import java.io.FileReader;
+import java.io.IOException;
+import javax.swing.JOptionPane;
+
+
+
+
+public class ScriptRunner
+{
+
+
+
+static void err(String message)
+{
+ JOptionPane.showMessageDialog(null, message,
+ "Script Error", JOptionPane.ERROR_MESSAGE);
+}
+
+
+
+public static boolean run(String lang, String str)
+{
+ ScriptEngineManager factory = new ScriptEngineManager();
+ // create JavaScript engine
+ ScriptEngine engine = factory.getEngineByName(lang);
+ // evaluate JavaScript code from given file - specified by first argument
+ try
+ {
+ engine.eval(str);
+ }
+ catch (javax.script.ScriptException e)
+ {
+ err("Executing script: " + e);
+ }
+ return true;
+}
+
+public static boolean runFile(String lang, String fname)
+{
+ ScriptEngineManager factory = new ScriptEngineManager();
+ // create JavaScript engine
+ ScriptEngine engine = factory.getEngineByName(lang);
+ // evaluate JavaScript code from given file - specified by first argument
+ FileReader in = null;
+ boolean ret = true;
+ try
+ {
+ in = new FileReader(fname);
+ }
+ catch (java.io.IOException e)
+ {
+ err("Executing file: " + e);
+ return false;
+ }
+ try
+ {
+ engine.eval(in);
+ }
+ catch (javax.script.ScriptException e)
+ {
+ err("Executing file: " + e);
+ ret = false;
+ }
+ try
+ {
+ in.close();
+ }
+ catch (java.io.IOException e)
+ {
+ err("Executing file: " + e);
+ return false;
+ }
+ return ret;
+}
+
+
+
+}
diff --git a/src/bind/java/org/inkscape/dom/DOMBase.java b/src/bind/java/org/inkscape/dom/DOMBase.java
new file mode 100644
index 000000000..88a3e7de1
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/DOMBase.java
@@ -0,0 +1,70 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+
+
+/**
+ * This is the base Java class upon which
+ * all of the DOM classes are rooted
+ */
+public class DOMBase
+{
+
+protected long _pointer;
+
+/**
+ * @see dobinding.cpp: DOMBase_construct()
+ */
+protected native void construct();
+
+/**
+ * @see dobinding.cpp: DOMBase_destruct()
+ */
+protected native void destruct();
+
+
+
+/**
+ * Overload Object.finalize() so that we
+ * can perform proper cleanup.
+ */
+protected void finalize()
+{
+ destruct();
+}
+
+
+public DOMBase()
+{
+ construct();
+ _pointer = 0;
+}
+
+}
+//########################################################################
+//# E N D O F F I L E
+//########################################################################
+
diff --git a/src/bind/java/org/inkscape/dom/DOMImplementationImpl.java b/src/bind/java/org/inkscape/dom/DOMImplementationImpl.java
new file mode 100644
index 000000000..553d613c4
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/DOMImplementationImpl.java
@@ -0,0 +1,84 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+import org.w3c.dom.*;
+
+
+public class DOMImplementationImpl
+ extends DOMBase
+ implements org.w3c.dom.DOMImplementation
+{
+
+/**
+ * Creates a DOM Document object of the specified type
+ * with its document element.
+ */
+public Document createDocument(String namespaceURI,
+ String qualifiedName,
+ DocumentType doctype)
+{
+ return null;
+}
+
+/**
+ * Creates an empty DocumentType node.
+ */
+public DocumentType createDocumentType(String qualifiedName,
+ String publicId,
+ String systemId)
+{
+ return null;
+}
+
+/**
+ * This method returns a specialized object which implements the
+ * specialized APIs of the specified feature and version, as specified
+ * in DOM Features.
+ */
+public Object getFeature(String feature, String version)
+{
+ return null;
+}
+
+/**
+ * Test if the DOM implementation implements a specific
+ * feature and version, as specified in DOM Features.
+ */
+public boolean hasFeature(String feature, String version)
+{
+ return false;
+}
+
+
+/**
+ *
+ */
+public DOMImplementationImpl()
+{
+ super();
+}
+
+}
diff --git a/src/bind/java/org/inkscape/dom/DOMLocatorImpl.java b/src/bind/java/org/inkscape/dom/DOMLocatorImpl.java
new file mode 100644
index 000000000..813d8c6ba
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/DOMLocatorImpl.java
@@ -0,0 +1,103 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+import org.w3c.dom.*;
+
+
+
+public class DOMLocatorImpl
+ extends DOMBase
+ implements org.w3c.dom.DOMLocator
+{
+
+
+/**
+ * The byte offset into the input source this locator is pointing to
+ * or -1 if there is no byte offset available.
+ */
+public int getByteOffset()
+{
+ return 0;
+}
+
+
+/**
+ * The column number this locator is pointing to,
+ * or -1 if there is no column number available.
+ */
+public int getColumnNumber()
+{
+ return 0;
+}
+
+
+/**
+ * The line number this locator is pointing to, or -1 if
+ * there is no column number available.
+ */
+public int getLineNumber()
+{
+ return 0;
+}
+
+
+/**
+ * The node this locator is pointing to, or null if no node is available.
+ */
+public Node getRelatedNode()
+{
+ return null;
+}
+
+
+/**
+ * The URI this locator is pointing to, or null if no URI is available.
+ */
+public String getUri()
+{
+ return "";
+}
+
+
+/**
+ * The UTF-16, as defined in [Unicode] and
+ * Amendment 1 of [ISO/IEC 10646], offset into the input source
+ * this locator is pointing to or -1 if there is no UTF-16
+ * offset available.
+ */
+public int getUtf16Offset()
+{
+ return 0;
+}
+
+
+
+public DOMLocatorImpl()
+{
+ super();
+}
+
+}
diff --git a/src/bind/java/org/inkscape/dom/DocumentFragmentImpl.java b/src/bind/java/org/inkscape/dom/DocumentFragmentImpl.java
new file mode 100644
index 000000000..3c10d8f97
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/DocumentFragmentImpl.java
@@ -0,0 +1,47 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+import org.w3c.dom.*;
+
+
+/**
+ * No methods are defined for this class
+ */
+public class DocumentFragmentImpl extends NodeImpl
+ implements org.w3c.dom.DocumentFragment
+{
+
+
+
+
+
+
+public DocumentFragmentImpl()
+{
+ super();
+}
+
+}
diff --git a/src/bind/java/org/inkscape/dom/DocumentImpl.java b/src/bind/java/org/inkscape/dom/DocumentImpl.java
new file mode 100644
index 000000000..d0c63d98a
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/DocumentImpl.java
@@ -0,0 +1,300 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+import org.w3c.dom.*;
+
+public class DocumentImpl extends NodeImpl
+ implements org.w3c.dom.Document
+{
+
+/**
+ * Attempts to adopt a node from another document to this document.
+ */
+public Node adoptNode(Node source)
+{
+ return null;
+}
+
+/**
+ * Creates an Attr of the given name.
+ */
+public Attr createAttribute(String name)
+{
+ return null;
+}
+
+/**
+ * Creates an attribute of the given qualified name and namespace URI.
+ */
+public Attr createAttributeNS(String namespaceURI, String qualifiedName)
+{
+ return null;
+}
+
+/**
+ * Creates a CDATASection node whose value is the specified string.
+ */
+public CDATASection createCDATASection(String data)
+{
+ return null;
+}
+
+/**
+ * Creates a Comment node given the specified string.
+ */
+public Comment createComment(String data)
+{
+ return null;
+}
+
+/**
+ * Creates an empty DocumentFragment object.
+ */
+public DocumentFragment createDocumentFragment()
+{
+ return null;
+}
+
+/**
+ * Creates an element of the type specified.
+ */
+public Element createElement(String tagName)
+{
+ return null;
+}
+
+/**
+ * Creates an element of the given qualified name and namespace URI.
+ */
+public Element createElementNS(String namespaceURI, String qualifiedName)
+{
+ return null;
+}
+
+/**
+ * Creates an EntityReference object.
+ */
+public EntityReference createEntityReference(String name)
+{
+ return null;
+}
+
+/**
+ * Creates a ProcessingInstruction node given the specified name
+ * and data strings.
+ */
+public ProcessingInstruction createProcessingInstruction(String target, String data)
+{
+ return null;
+}
+
+/**
+ * Creates a Text node given the specified string.
+ */
+public Text createTextNode(String data)
+{
+ return null;
+}
+
+/**
+ * The Document Type Declaration (see DocumentType) associated
+ * with this document.
+ */
+public DocumentType getDoctype()
+{
+ return null;
+}
+
+/**
+ * This is a convenience attribute that allows direct access to the
+ * child node that is the document element of the document.
+ */
+public Element getDocumentElement()
+{
+ return null;
+}
+
+/**
+ * The location of the document or null if undefined or if the Document
+ * was created using DOMImplementation.createDocument.
+ */
+public String getDocumentURI()
+{
+ return "";
+}
+
+/**
+ * The configuration used when Document.normalizeDocument() is invoked.
+ */
+public DOMConfiguration getDomConfig()
+{
+ return null;
+}
+
+/**
+ * Returns the Element that has an ID attribute with the given value.
+ */
+public Element getElementById(String elementId)
+{
+ return null;
+}
+
+/**
+ * Returns a NodeList of all the Elements in document order with a
+ * given tag name and are contained in the document.
+ */
+public NodeList getElementsByTagName(String tagname)
+{
+ return null;
+}
+
+/**
+ * Returns a NodeList of all the Elements with a given local name
+ * and namespace URI in document order.
+ */
+public NodeList getElementsByTagNameNS(String namespaceURI, String localName)
+{
+ return null;
+}
+
+/**
+ * The DOMImplementation object that handles this document.
+ */
+public DOMImplementation getImplementation()
+{
+ return null;
+}
+
+/**
+ * An attribute specifying the encoding used for this document at
+ * the time of the parsing.
+ */
+public String getInputEncoding()
+{
+ return "";
+}
+
+/**
+ * An attribute specifying whether error checking is enforced or not.
+ */
+public boolean getStrictErrorChecking()
+{
+ return false;
+}
+
+/**
+ * An attribute specifying, as part of the XML declaration,
+ * the encoding of this document.
+ */
+public String getXmlEncoding()
+{
+ return "";
+}
+
+/**
+ * An attribute specifying, as part of the XML declaration,
+ * whether this document is standalone.
+ */
+public boolean getXmlStandalone()
+{
+ return false;
+}
+
+/**
+ * An attribute specifying, as part of the XML declaration,
+ * the version number of this document.
+ */
+public String getXmlVersion()
+{
+ return "";
+}
+
+/**
+ * Imports a node from another document to this document,
+ * without altering or removing the source node from the
+ * original document; this method creates a
+ * new copy of the source node.
+ */
+public Node importNode(Node importedNode, boolean deep)
+{
+ return null;
+}
+
+/**
+ * This method acts as if the document was going through
+ * a save and load cycle, putting the document in a "normal" form.
+ */
+public void normalizeDocument()
+{
+}
+
+/**
+ * Rename an existing node of type ELEMENT_NODE or ATTRIBUTE_NODE.
+ */
+public Node renameNode(Node n, String namespaceURI, String qualifiedName)
+{
+ return null;
+}
+
+/**
+ * The location of the document or null if undefined or if
+ * the Document was created using DOMImplementation.createDocument.
+ */
+public void setDocumentURI(String documentURI)
+{
+}
+
+/**
+ * An attribute specifying whether error checking is enforced or not.
+ */
+public void setStrictErrorChecking(boolean strictErrorChecking)
+{
+}
+
+/**
+ * An attribute specifying, as part of the XML declaration,
+ * whether this document is standalone.
+ */
+public void setXmlStandalone(boolean xmlStandalone)
+{
+}
+
+/**
+ * An attribute specifying, as part of the XML declaration,
+ * the version number of this document.
+ */
+public void setXmlVersion(String xmlVersion)
+{
+}
+
+
+public DocumentImpl()
+{
+ super();
+}
+
+}
+
diff --git a/src/bind/java/org/inkscape/dom/DocumentTypeImpl.java b/src/bind/java/org/inkscape/dom/DocumentTypeImpl.java
new file mode 100644
index 000000000..641565c7e
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/DocumentTypeImpl.java
@@ -0,0 +1,93 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+import org.w3c.dom.*;
+
+
+
+public class DocumentTypeImpl extends NodeImpl
+ implements org.w3c.dom.DocumentType
+{
+
+
+/**
+ * A NamedNodeMap containing the general entities, both
+ * external and internal, declared in the DTD.
+ */
+public NamedNodeMap getEntities()
+{
+ return null;
+}
+
+/**
+ * The internal subset as a string, or null if there is none.
+ */
+public String getInternalSubset()
+{
+ return "";
+}
+
+/**
+ * The name of DTD; i.e., the name immediately following the
+ * DOCTYPE keyword.
+ */
+public String getName()
+{
+ return "";
+}
+
+/**
+ * A NamedNodeMap containing the notations declared in the DTD.
+ */
+public NamedNodeMap getNotations()
+{
+ return null;
+}
+
+/**
+ * The public identifier of the external subset.
+ */
+public String getPublicId()
+{
+ return null;
+}
+
+/**
+ * The system identifier of the external subset.
+ */
+public String getSystemId()
+{
+ return "";
+}
+
+
+
+public DocumentTypeImpl()
+{
+ super();
+}
+
+}
diff --git a/src/bind/java/org/inkscape/dom/ElementImpl.java b/src/bind/java/org/inkscape/dom/ElementImpl.java
new file mode 100644
index 000000000..24aa46404
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/ElementImpl.java
@@ -0,0 +1,209 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+import org.w3c.dom.*;
+
+
+
+public class ElementImpl extends NodeImpl
+ implements org.w3c.dom.Element
+{
+
+
+/**
+ * Retrieves an attribute value by name.
+ */
+public String getAttribute(String name)
+{
+ return "";
+}
+
+/**
+ * Retrieves an attribute node by name.
+ */
+public Attr getAttributeNode(String name)
+{
+ return null;
+}
+
+/**
+ * Retrieves an Attr node by local name and namespace URI.
+ */
+public Attr getAttributeNodeNS(String namespaceURI, String localName)
+{
+ return null;
+}
+
+/**
+ * Retrieves an attribute value by local name and namespace URI.
+ */
+public String getAttributeNS(String namespaceURI, String localName)
+{
+ return "";
+}
+
+/**
+ * Returns a NodeList of all descendant Elements with a given
+ * tag name, in document order.
+ */
+public NodeList getElementsByTagName(String name)
+{
+ return null;
+}
+
+/**
+ * Returns a NodeList of all the descendant Elements with a given
+ * local name and namespace URI in document order.
+ */
+public NodeList getElementsByTagNameNS(String namespaceURI,
+ String localName)
+{
+ return null;
+}
+
+/**
+ * The type information associated with this element.
+ */
+public TypeInfo getSchemaTypeInfo()
+{
+ return null;
+}
+
+/**
+ * The name of the element.
+ */
+public String getTagName()
+{
+ return "";
+}
+
+/**
+ * Returns true when an attribute with a given name is
+ * specified on this element or has a default value, false otherwise.
+ */
+public boolean hasAttribute(String name)
+{
+ return false;
+}
+
+/**
+ * Returns true when an attribute with a given local name and
+ * namespace URI is specified on this element or has a default value,
+ * false otherwise.
+ */
+public boolean hasAttributeNS(String namespaceURI, String localName)
+{
+ return false;
+}
+
+/**
+ * Removes an attribute by name.
+ */
+public void removeAttribute(String name)
+{
+}
+
+/**
+ * Removes the specified attribute node.
+ */
+public Attr removeAttributeNode(Attr oldAttr)
+{
+ return null;
+}
+
+/**
+ * Removes an attribute by local name and namespace URI.
+ */
+public void removeAttributeNS(String namespaceURI, String localName)
+{
+}
+
+/**
+ * Adds a new attribute.
+ */
+public void setAttribute(String name, String value)
+{
+}
+
+/**
+ * Adds a new attribute node.
+ */
+public Attr setAttributeNode(Attr newAttr)
+{
+ return null;
+}
+
+/**
+ * Adds a new attribute.
+ */
+public Attr setAttributeNodeNS(Attr newAttr)
+{
+ return null;
+}
+
+/**
+ * Adds a new attribute.
+ */
+public void setAttributeNS(String namespaceURI,
+ String qualifiedName, String value)
+{
+}
+
+/**
+ * If the parameter isId is true, this method declares the
+ * specified attribute to be a user-determined ID attribute .
+ */
+public void setIdAttribute(String name, boolean isId)
+{
+}
+
+/**
+ * If the parameter isId is true, this method declares the
+ * specified attribute to be a user-determined ID attribute .
+ */
+public void setIdAttributeNode(Attr idAttr, boolean isId)
+{
+}
+
+/**
+ * If the parameter isId is true, this method declares the specified
+ * attribute to be a user-determined ID attribute .
+ */
+public void setIdAttributeNS(String namespaceURI,
+ String localName, boolean isId)
+{
+}
+
+
+
+public ElementImpl()
+{
+ super();
+}
+
+
+
+}
diff --git a/src/bind/java/org/inkscape/dom/NamedNodeMapImpl.java b/src/bind/java/org/inkscape/dom/NamedNodeMapImpl.java
new file mode 100644
index 000000000..703efe699
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/NamedNodeMapImpl.java
@@ -0,0 +1,109 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+import org.w3c.dom.*;
+
+
+
+public class NamedNodeMapImpl
+ extends DOMBase
+ implements org.w3c.dom.NamedNodeMap
+{
+
+
+
+/**
+ * The number of nodes in this map.
+ */
+public int getLength()
+{
+ return 0;
+}
+
+/**
+ * Retrieves a node specified by name.
+ */
+public Node getNamedItem(String name)
+{
+ return null;
+}
+
+/**
+ * Retrieves a node specified by local name and namespace URI.
+ */
+public Node getNamedItemNS(String namespaceURI, String localName)
+{
+ return null;
+}
+
+/**
+ * Returns the indexth item in the map.
+ */
+public Node item(int index)
+{
+ return null;
+}
+
+/**
+ * Removes a node specified by name.
+ */
+public Node removeNamedItem(String name)
+{
+ return null;
+}
+
+/**
+ * Removes a node specified by local name and namespace URI.
+ */
+public Node removeNamedItemNS(String namespaceURI, String localName)
+{
+ return null;
+}
+
+/**
+ * Adds a node using its nodeName attribute.
+ */
+public Node setNamedItem(Node arg)
+{
+ return null;
+}
+
+/**
+ * Adds a node using its namespaceURI and localName.
+ */
+public Node setNamedItemNS(Node arg)
+{
+ return null;
+}
+
+
+
+public NamedNodeMapImpl()
+{
+ super();
+}
+
+}
diff --git a/src/bind/java/org/inkscape/dom/NodeImpl.java b/src/bind/java/org/inkscape/dom/NodeImpl.java
new file mode 100644
index 000000000..225d123c6
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/NodeImpl.java
@@ -0,0 +1,350 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+import org.w3c.dom.*;
+
+
+
+public class NodeImpl extends DOMBase
+ implements org.w3c.dom.Node
+{
+
+/**
+ * Adds the node newChild to the end of the list of children of this node.
+ */
+public Node appendChild(Node newChild)
+{
+ return null;
+}
+
+
+/**
+ * Returns a duplicate of this node, i.e., serves as a generic copy
+ * constructor for nodes.
+ */
+public Node cloneNode(boolean deep)
+{
+ return null;
+}
+
+/**
+ * Compares the reference node, i.e.
+ */
+public short compareDocumentPosition(Node other)
+{
+ return 0;
+}
+
+/**
+ * A NamedNodeMap containing the attributes of this node (if it is
+ * an Element) or null otherwise.
+ */
+public NamedNodeMap getAttributes()
+{
+ return null;
+}
+
+/**
+ * The absolute base URI of this node or null if the
+ * implementation wasn't able to obtain an absolute URI.
+ */
+public String getBaseURI()
+{
+ return "";
+}
+
+/**
+ * A NodeList that contains all children of this node.
+ */
+public NodeList getChildNodes()
+{
+ return null;
+}
+
+/**
+ * This method returns a specialized object which implements the
+ * specialized APIs of the specified feature and version, as specified in .
+ */
+public Object getFeature(String feature, String version)
+{
+ return null;
+}
+
+/**
+ * The first child of this node.
+ */
+public Node getFirstChild()
+{
+ return null;
+}
+
+/**
+ * The last child of this node.
+ */
+public Node getLastChild()
+{
+ return null;
+}
+
+/**
+ * Returns the local part of the qualified name of this node.
+ */
+public String getLocalName()
+{
+ return "";
+}
+
+/**
+ * The namespace URI of this node, or null if it is unspecified (see ).
+ */
+public String getNamespaceURI()
+{
+ return "";
+}
+
+/**
+ * The node immediately following this node.
+ */
+public Node getNextSibling()
+{
+ return null;
+}
+
+/**
+ * The name of this node, depending on its type; see the table above.
+ */
+public String getNodeName()
+{
+ return "";
+}
+
+/**
+ * A code representing the type of the underlying object,
+ * as defined above.
+ */
+public short getNodeType()
+{
+ return 0;
+}
+
+/**
+ * The value of this node, depending on its type; see the table above.
+ */
+public String getNodeValue()
+{
+ return "";
+}
+
+/**
+ * The Document object associated with this node.
+ */
+public Document getOwnerDocument()
+{
+ return null;
+}
+
+/**
+ * The parent of this node.
+ */
+public Node getParentNode()
+{
+ return null;
+}
+
+/**
+ * The namespace prefix of this node, or null if it is unspecified.
+ */
+public String getPrefix()
+{
+ return "";
+}
+
+/**
+ * The node immediately preceding this node.
+ */
+public Node getPreviousSibling()
+{
+ return null;
+}
+
+/**
+ * This attribute returns the text content of this node
+ * and its descendants.
+ */
+public String getTextContent()
+{
+ return "";
+}
+
+/**
+ * Retrieves the object associated to a key on a this node.
+ */
+public Object getUserData(String key)
+{
+ return null;
+}
+
+/**
+ * Returns whether this node (if it is an element) has any attributes.
+ */
+public boolean hasAttributes()
+{
+ return false;
+}
+
+/**
+ * Returns whether this node has any children.
+ */
+public boolean hasChildNodes()
+{
+ return false;
+}
+
+/**
+ * Inserts the node newChild before the existing child node refChild.
+ */
+public Node insertBefore(Node newChild, Node refChild)
+{
+ return null;
+}
+
+/**
+ * This method checks if the specified namespaceURI is the
+ * default namespace or not.
+ */
+public boolean isDefaultNamespace(String namespaceURI)
+{
+ return false;
+}
+
+/**
+ * Tests whether two nodes are equal.
+ */
+public boolean isEqualNode(Node arg)
+{
+ return false;
+}
+
+/**
+ * Returns whether this node is the same node as the given one.
+ */
+public boolean isSameNode(Node other)
+{
+ return false;
+}
+
+/**
+ * Tests whether the DOM implementation implements a specific feature
+ * and that feature is supported by this node, as specified in .
+ */
+public boolean isSupported(String feature, String version)
+{
+ return false;
+}
+
+/**
+ * Look up the namespace URI associated to the given prefix,
+ * starting from this node.
+ */
+public String lookupNamespaceURI(String prefix)
+{
+ return "";
+}
+
+/**
+ * Look up the prefix associated to the given namespace URI, starting
+ * from this node.
+ */
+public String lookupPrefix(String namespaceURI)
+{
+ return "";
+}
+
+/**
+ * Puts all Text nodes in the full depth of the sub-tree underneath
+ * this Node, including attribute nodes, into a "normal" form where only structure (e.g., elements, comments, processing instructions, CDATA sections, and entity references) separates Text nodes, i.e., there are neither adjacent Text nodes nor empty Text nodes.
+ */
+public void normalize()
+{
+}
+
+/**
+ * Removes the child node indicated by oldChild from the list of
+ * children, and returns it.
+ */
+public Node removeChild(Node oldChild)
+{
+ return null;
+}
+
+/**
+ * Replaces the child node oldChild with newChild in the list of
+ * children, and returns the oldChild node.
+ */
+public Node replaceChild(Node newChild, Node oldChild)
+{
+ return null;
+}
+
+/**
+ * The value of this node, depending on its type; see the table above.
+ */
+public void setNodeValue(String nodeValue)
+{
+}
+
+/**
+ * The namespace prefix of this node, or null if it is unspecified.
+ */
+public void setPrefix(String prefix)
+{
+}
+
+/**
+ * This attribute returns the text content of this node and
+ * its descendants.
+ */
+public void setTextContent(String textContent)
+{
+}
+
+/**
+ * Associate an object to a key on this node.
+ */
+public Object setUserData(String key, Object data, UserDataHandler handler)
+{
+ return null;
+}
+
+
+public NodeImpl()
+{
+ super();
+}
+
+
+
+}
diff --git a/src/bind/java/org/inkscape/dom/NodeListImpl.java b/src/bind/java/org/inkscape/dom/NodeListImpl.java
new file mode 100644
index 000000000..338b1d982
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/NodeListImpl.java
@@ -0,0 +1,60 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+import org.w3c.dom.Node;
+
+
+public class NodeListImpl extends DOMBase
+ implements org.w3c.dom.NodeList
+{
+
+/**
+ * Returns the indexth item in the collection.
+ */
+public Node item(int index)
+{
+ return null;
+}
+
+
+/**
+ * The number of nodes in the list.
+ */
+public int getLength()
+{
+ return 0;
+}
+
+
+/**
+ *
+ */
+public NodeListImpl()
+{
+ super();
+}
+
+}
diff --git a/src/bind/java/org/inkscape/dom/TypeInfoImpl.java b/src/bind/java/org/inkscape/dom/TypeInfoImpl.java
new file mode 100644
index 000000000..c01ffd152
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/TypeInfoImpl.java
@@ -0,0 +1,77 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+import org.w3c.dom.*;
+
+
+
+public class TypeInfoImpl
+ extends DOMBase
+ implements org.w3c.dom.TypeInfo
+{
+
+
+/**
+ * The name of a type declared for the associated element
+ * or attribute, or null if unknown.
+ */
+public String getTypeName()
+{
+ return "";
+}
+
+
+/**
+ * The namespace of the type declared for the associated
+ * element or attribute or null if the element does not have
+ * declaration or if no namespace information is available.
+ */
+public String getTypeNamespace()
+{
+ return "";
+}
+
+
+
+/**
+ * This method returns if there is a derivation between
+ * the reference type definition, i.e.
+ */
+public boolean isDerivedFrom(String typeNamespaceArg,
+ String typeNameArg,
+ int derivationMethod)
+{
+ return false;
+}
+
+
+
+public TypeInfoImpl()
+{
+ super();
+}
+
+}
diff --git a/src/bind/java/org/inkscape/dom/UserDataHandlerImpl.java b/src/bind/java/org/inkscape/dom/UserDataHandlerImpl.java
new file mode 100644
index 000000000..329f471bb
--- /dev/null
+++ b/src/bind/java/org/inkscape/dom/UserDataHandlerImpl.java
@@ -0,0 +1,53 @@
+/**
+ * This is a simple mechanism to bind Inkscape to Java, and thence
+ * to all of the nice things that can be layered upon that.
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.inkscape.dom;
+
+import org.w3c.dom.*;
+
+
+
+public class UserDataHandlerImpl
+ extends DOMBase
+ implements org.w3c.dom.UserDataHandler
+{
+
+
+/**
+ * This method is called whenever the node for which this
+ * is registered is imported or cloned.
+ */
+public void handle(short operation, String key,
+ Object data, Node src, Node dst)
+{
+}
+
+
+
+public UserDataHandlerImpl()
+{
+ super();
+}
+
+}