[kaffe] CVS kaffe (robilad): Resynced with GNU Classpath: new
imageio files
Kaffe CVS
cvs-commits at kaffe.org
Tue Jan 18 07:21:56 PST 2005
PatchSet 5870
Date: 2005/01/18 15:14:47
Author: robilad
Branch: HEAD
Tag: (none)
Log:
Resynced with GNU Classpath: new imageio files
2005-01-18 Dalibor Topic <robilad at kaffe.org>
Resynced with GNU Classpath.
2005-01-17 Jerry Quinn <jlquinn at optonline.net>
* javax/imageio/metadata/IIOMetadataNode.java:
Implemented.
* javax/imageio/metadata/IIOAttr.java,
javax/imageio/metadata/IIONamedNodeMap.java,
javax/imageio/metadata/IIONodeList.java:
New files
Members:
ChangeLog:1.3411->1.3412
libraries/javalib/all.files:1.75->1.76
libraries/javalib/javax/imageio/metadata/IIOAttr.java:INITIAL->1.1
libraries/javalib/javax/imageio/metadata/IIOMetadataNode.java:1.1->1.2
libraries/javalib/javax/imageio/metadata/IIONamedNodeMap.java:INITIAL->1.1
libraries/javalib/javax/imageio/metadata/IIONodeList.java:INITIAL->1.1
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3411 kaffe/ChangeLog:1.3412
--- kaffe/ChangeLog:1.3411 Tue Jan 18 14:52:19 2005
+++ kaffe/ChangeLog Tue Jan 18 15:14:47 2005
@@ -1,6 +1,29 @@
2005-01-18 Dalibor Topic <robilad at kaffe.org>
Resynced with GNU Classpath.
+
+ 2005-01-17 Jerry Quinn <jlquinn at optonline.net>
+
+ * javax/imageio/metadata/IIOMetadataNode.java:
+ Implemented.
+ * javax/imageio/metadata/IIOAttr.java,
+ javax/imageio/metadata/IIONamedNodeMap.java,
+ javax/imageio/metadata/IIONodeList.java:
+ New files
+
+2005-01-18 Dalibor Topic <robilad at kaffe.org>
+
+ Resynced with GNU Classpath.
+
+ 2005-01-17 Michael Koch <konqueror at gmx.de>
+
+ * javax/print/attribute/standard/Chromaticity.java,
+ javax/print/attribute/standard/Destination.java:
+ New files.
+
+2005-01-18 Dalibor Topic <robilad at kaffe.org>
+
+ Resynced with GNU Classpath.
2005-01-17 Andrew John Hughes <gnu_andrew at member.fsf.org>
Index: kaffe/libraries/javalib/all.files
diff -u kaffe/libraries/javalib/all.files:1.75 kaffe/libraries/javalib/all.files:1.76
--- kaffe/libraries/javalib/all.files:1.75 Tue Jan 18 14:59:10 2005
+++ kaffe/libraries/javalib/all.files Tue Jan 18 15:14:50 2005
@@ -2531,12 +2531,15 @@
javax/imageio/ImageTypeSpecifier.java
javax/imageio/ImageWriteParam.java
javax/imageio/ImageWriter.java
+javax/imageio/metadata/IIOAttr.java
javax/imageio/metadata/IIOInvalidTreeException.java
javax/imageio/metadata/IIOMetadataController.java
javax/imageio/metadata/IIOMetadataFormatImpl.java
javax/imageio/metadata/IIOMetadataFormat.java
javax/imageio/metadata/IIOMetadata.java
javax/imageio/metadata/IIOMetadataNode.java
+javax/imageio/metadata/IIONamedNodeMap.java
+javax/imageio/metadata/IIONodeList.java
javax/imageio/spi/IIORegistry.java
javax/imageio/spi/IIOServiceProvider.java
javax/imageio/spi/ImageInputStreamSpi.java
===================================================================
Checking out kaffe/libraries/javalib/javax/imageio/metadata/IIOAttr.java
RCS: /home/cvs/kaffe/kaffe/libraries/javalib/javax/imageio/metadata/IIOAttr.java,v
VERS: 1.1
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/libraries/javalib/javax/imageio/metadata/IIOAttr.java Tue Jan 18 15:21:55 2005
@@ -0,0 +1,378 @@
+/* IIOAttr.java --
+ Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.imageio.metadata;
+
+import org.w3c.dom.Attr;
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.TypeInfo;
+import org.w3c.dom.UserDataHandler;
+
+/**
+ * Simple Attr node for metadata trees
+ *
+ * @author jlquinn
+ */
+class IIOAttr implements Attr
+{
+ String name;
+ String value;
+ IIOMetadataNode owner;
+
+ public IIOAttr(String name, String value, IIOMetadataNode owner)
+ {
+ this.name = name;
+ this.value = value;
+ this.owner = owner;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Attr#getName()
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ public TypeInfo getSchemaTypeInfo()
+ {
+ throw new Error("not implemented");
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Attr#getSpecified()
+ */
+ public boolean getSpecified()
+ {
+ // I don't think there can be default attrs in metadata
+ return true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Attr#getValue()
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Attr#setValue(java.lang.String)
+ */
+ public void setValue(String value) throws DOMException
+ {
+ this.value = value;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Attr#getOwnerElement()
+ */
+ public Element getOwnerElement()
+ {
+ return owner;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getNodeName()
+ */
+ public String getNodeName()
+ {
+ return name;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getNodeValue()
+ */
+ public String getNodeValue() throws DOMException
+ {
+ return value;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#setNodeValue(java.lang.String)
+ */
+ public void setNodeValue(String nodeValue) throws DOMException
+ {
+ this.value = nodeValue;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getNodeType()
+ */
+ public short getNodeType()
+ {
+ return ATTRIBUTE_NODE;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getParentNode()
+ */
+ public Node getParentNode()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getChildNodes()
+ */
+ public NodeList getChildNodes()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getFirstChild()
+ */
+ public Node getFirstChild()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getLastChild()
+ */
+ public Node getLastChild()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getPreviousSibling()
+ */
+ public Node getPreviousSibling()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getNextSibling()
+ */
+ public Node getNextSibling()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getAttributes()
+ */
+ public NamedNodeMap getAttributes()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getOwnerDocument()
+ */
+ public Document getOwnerDocument()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)
+ */
+ public Node insertBefore(Node newChild, Node refChild) throws DOMException
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)
+ */
+ public Node replaceChild(Node newChild, Node oldChild) throws DOMException
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#removeChild(org.w3c.dom.Node)
+ */
+ public Node removeChild(Node oldChild) throws DOMException
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#appendChild(org.w3c.dom.Node)
+ */
+ public Node appendChild(Node newChild) throws DOMException
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#hasChildNodes()
+ */
+ public boolean hasChildNodes()
+ {
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#cloneNode(boolean)
+ */
+ public Node cloneNode(boolean deep)
+ {
+ return new IIOAttr(name, value, owner);
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#normalize()
+ */
+ public void normalize()
+ {
+ }
+
+ public boolean isDefaultNamespace(String namespaceURI)
+ {
+ throw new Error("not implemented");
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#isSupported(java.lang.String, java.lang.String)
+ */
+ public boolean isSupported(String feature, String version)
+ {
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getNamespaceURI()
+ */
+ public String getNamespaceURI()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getPrefix()
+ */
+ public String getPrefix()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#setPrefix(java.lang.String)
+ */
+ public void setPrefix(String prefix) throws DOMException
+ {
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getLocalName()
+ */
+ public String getLocalName()
+ {
+ return name;
+ }
+
+ public Object getUserData(String key)
+ {
+ throw new Error("not implemented");
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#hasAttributes()
+ */
+ public boolean hasAttributes()
+ {
+ return false;
+ }
+
+ public boolean isId()
+ {
+ throw new Error("not implemented");
+ }
+
+ public String lookupNamespaceURI(String prefix)
+ {
+ throw new Error("not implemented");
+ }
+
+ public String lookupPrefix(String namespaceURI)
+ {
+ throw new Error("not implemented");
+ }
+
+ public Object setUserData(String key, Object data, UserDataHandler handler)
+ {
+ throw new Error("not implemented");
+ }
+
+ public String getBaseURI()
+ {
+ throw new Error("not implemented");
+ }
+
+ public String getTextContent()
+ {
+ throw new Error("not implemented");
+ }
+
+ public void setTextContent(String textContent)
+ {
+ throw new Error("not implemented");
+ }
+
+ public short compareDocumentPosition(Node other)
+ throws DOMException
+ {
+ throw new Error("not implemented");
+ }
+
+ public Object getFeature(String feature, String version)
+ {
+ throw new Error("not implemented");
+ }
+
+ public boolean isEqualNode(Node other)
+ {
+ throw new Error("not implemented");
+ }
+
+ public boolean isSameNode(Node other)
+ {
+ throw new Error("not implemented");
+ }
+}
Index: kaffe/libraries/javalib/javax/imageio/metadata/IIOMetadataNode.java
diff -u kaffe/libraries/javalib/javax/imageio/metadata/IIOMetadataNode.java:1.1 kaffe/libraries/javalib/javax/imageio/metadata/IIOMetadataNode.java:1.2
--- kaffe/libraries/javalib/javax/imageio/metadata/IIOMetadataNode.java:1.1 Sun Oct 10 14:55:14 2004
+++ kaffe/libraries/javalib/javax/imageio/metadata/IIOMetadataNode.java Tue Jan 18 15:14:52 2005
@@ -38,6 +38,555 @@
package javax.imageio.metadata;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+import org.w3c.dom.Attr;
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.TypeInfo;
+import org.w3c.dom.UserDataHandler;
+
public class IIOMetadataNode
+ implements Element, NodeList
{
+ private String name;
+ private HashMap attrs = new HashMap();
+ private List children = new ArrayList();
+ private IIOMetadataNode parent;
+ private Object obj;
+
+ public IIOMetadataNode()
+ {
+ // Do nothing here.
+ }
+
+ public IIOMetadataNode(String nodename)
+ {
+ name = nodename;
+ }
+
+ public Object getUserObject()
+ {
+ return obj;
+ }
+
+ public void setUserObject(Object o)
+ {
+ obj = o;
+ }
+
+ public short compareDocumentPosition(Node other)
+ throws DOMException
+ {
+ throw new Error("not implemented");
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#getAttribute(java.lang.String)
+ */
+ public String getAttribute(String name)
+ {
+ Attr anode = (Attr) attrs.get(name);
+ return anode != null ? anode.getValue() : null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#getAttributeNode(java.lang.String)
+ */
+ public Attr getAttributeNode(String name)
+ {
+ String val = getAttribute(name);
+ if (val != null)
+ return new IIOAttr(name, val, this);
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#getAttributeNodeNS(java.lang.String, java.lang.String)
+ */
+ public Attr getAttributeNodeNS(String namespaceURI, String localName)
+ {
+ return getAttributeNode(localName);
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#getAttributeNS(java.lang.String, java.lang.String)
+ */
+ public String getAttributeNS(String namespaceURI, String localName)
+ {
+ return getAttribute(localName);
+ }
+
+ public String getBaseURI()
+ {
+ throw new Error("not implemented");
+ }
+
+ // Recursive function for assembling a node list.
+ private void getElementsRecurse(IIONodeList list, String name)
+ {
+ for (int i=0; i < children.size(); i++)
+ {
+ if (((Node)children.get(i)).getNodeName().equals(name))
+ list.children.add(children.get(i));
+ getElementsRecurse(list, name);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#getElementsByTagName(java.lang.String)
+ */
+ public NodeList getElementsByTagName(String name)
+ {
+ IIONodeList list = new IIONodeList();
+ getElementsRecurse(list, name);
+ return list;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#getElementsByTagNameNS(java.lang.String, java.lang.String)
+ */
+ public NodeList getElementsByTagNameNS(String namespaceURI, String localName)
+ {
+ IIONodeList list = new IIONodeList();
+ getElementsRecurse(list, name);
+ return list;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#getTagName()
+ */
+ public String getTagName()
+ {
+ return name;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#hasAttribute(java.lang.String)
+ */
+ public boolean hasAttribute(String name)
+ {
+ return attrs.containsKey(name);
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#hasAttributeNS(java.lang.String, java.lang.String)
+ */
+ public boolean hasAttributeNS(String namespaceURI, String localName)
+ {
+ return attrs.containsKey(localName);
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#removeAttribute(java.lang.String)
+ */
+ public void removeAttribute(String name)
+ {
+ attrs.remove(name);
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#removeAttributeNode(org.w3c.dom.Attr)
+ */
+ public Attr removeAttributeNode(Attr oldAttr)
+ {
+ return (Attr)attrs.remove(oldAttr.getName());
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#removeAttributeNS(java.lang.String, java.lang.String)
+ */
+ public void removeAttributeNS(String namespaceURI, String localName)
+ {
+ removeAttribute(localName);
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#setAttribute(java.lang.String, java.lang.String)
+ */
+ public void setAttribute(String name, String value)
+ {
+ Attr attr = (Attr) getAttributeNode(name);
+ if (attr != null)
+ attr.setValue(value);
+ else
+ attrs.put(name, new IIOAttr(name, value, this));
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#setAttributeNode(org.w3c.dom.Attr)
+ */
+ public Attr setAttributeNode(Attr newAttr)
+ {
+ return (Attr)attrs.put(newAttr.getName(), newAttr);
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#setAttributeNodeNS(org.w3c.dom.Attr)
+ */
+ public Attr setAttributeNodeNS(Attr newAttr)
+ {
+ return (Attr)attrs.put(newAttr.getName(), newAttr);
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Element#setAttributeNS(java.lang.String, java.lang.String, java.lang.String)
+ */
+ public void setAttributeNS(String namespaceURI, String qualifiedName, String value)
+ {
+ setAttribute(qualifiedName, value);
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.NodeList#getLength()
+ */
+ public int getLength()
+ {
+ return children.size();
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.NodeList#item(int)
+ */
+ public Node item(int index)
+ {
+ if (index < children.size())
+ return (Node)children.get(index);
+ else
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#appendChild(org.w3c.dom.Node)
+ */
+ public Node appendChild(Node newChild)
+ {
+ if (newChild == null)
+ throw new IllegalArgumentException("Child node is null");
+
+ IIOMetadataNode child = (IIOMetadataNode) newChild;
+
+ children.add(child);
+ child.parent = this;
+ return this;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#cloneNode(boolean)
+ */
+ public Node cloneNode(boolean deep)
+ {
+ IIOMetadataNode newnode = new IIOMetadataNode(name);
+ newnode.parent = null;
+ newnode.obj = obj;
+ if (deep)
+ {
+ for (int i=0; i < children.size(); i++)
+ newnode.children.add(((Node)children.get(i)).cloneNode(deep));
+ }
+
+ // clone attrs
+ for (Iterator it = attrs.values().iterator(); it.hasNext();)
+ {
+ IIOAttr attr = (IIOAttr)it.next();
+ newnode.attrs.put(attr.name, attr.cloneNode(deep));
+ attr.owner = newnode;
+ }
+
+ return newnode;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getAttributes()
+ */
+ public NamedNodeMap getAttributes()
+ {
+ return new IIONamedNodeMap(attrs);
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getChildNodes()
+ */
+ public NodeList getChildNodes()
+ {
+ return this;
+ }
+
+ public Object getFeature(String feature, String version)
+ {
+ throw new Error("not implemented");
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getFirstChild()
+ */
+ public Node getFirstChild()
+ {
+ return (children.size() > 0) ? (Node)children.get(0) : null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getLastChild()
+ */
+ public Node getLastChild()
+ {
+ return (children.size() > 0) ? (Node)children.get(children.size() - 1)
+ : null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getLocalName()
+ */
+ public String getLocalName()
+ {
+ return name;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getNamespaceURI()
+ */
+ public String getNamespaceURI()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getNextSibling()
+ */
+ public Node getNextSibling()
+ {
+ // If this op needs to be faster, add links to prev and next nodes.
+ if (parent == null) return null;
+ int idx = parent.children.indexOf(this);
+ return (idx == parent.children.size() - 1) ? null
+ : (Node)parent.children.get(idx + 1);
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getNodeName()
+ */
+ public String getNodeName()
+ {
+ return name;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getNodeType()
+ */
+ public short getNodeType()
+ {
+ return ELEMENT_NODE;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getNodeValue()
+ */
+ public String getNodeValue()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getOwnerDocument()
+ */
+ public Document getOwnerDocument()
+ {
+ // IOMetadataNodes have no owner
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getParentNode()
+ */
+ public Node getParentNode()
+ {
+ return parent;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getPrefix()
+ */
+ public String getPrefix()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#getPreviousSibling()
+ */
+ public Node getPreviousSibling()
+ {
+ // If this op needs to be faster, add links to prev and next nodes.
+ if (parent == null) return null;
+ int idx = parent.children.indexOf(this);
+ return (idx == 0) ? null
+ : (Node)parent.children.get(idx - 1);
+ }
+
+ public TypeInfo getSchemaTypeInfo()
+ {
+ throw new Error("not implemented");
+ }
+
+ public String getTextContent()
+ throws DOMException
+ {
+ throw new Error("not implemented");
+ }
+
+ public Object getUserData(String key)
+ {
+ throw new Error("not implemented");
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#hasAttributes()
+ */
+ public boolean hasAttributes()
+ {
+ return !attrs.isEmpty();
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#hasChildNodes()
+ */
+ public boolean hasChildNodes()
+ {
+ return !children.isEmpty();
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)
+ */
+ public Node insertBefore(Node newChild, Node refChild)
+ {
+ if (newChild == null)
+ throw new IllegalArgumentException();
+
+ int idx = children.indexOf(refChild);
+ if (idx == -1)
+ children.add(newChild);
+ else
+ children.add(idx, newChild);
+ ((IIOMetadataNode)newChild).parent = this;
+
+ return newChild;
+ }
+
+ public boolean isDefaultNamespace(String namespaceURI)
+ {
+ throw new Error("not implemented");
+ }
+
+ public boolean isEqualNode(Node arg)
+ {
+ throw new Error("not implemented");
+ }
+
+ public boolean isSameNode(Node other)
+ {
+ return this == other;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#isSupported(java.lang.String, java.lang.String)
+ */
+ public boolean isSupported(String feature, String version)
+ {
+ // No DOM features are supported
+ return false;
+ }
+
+ public String lookupNamespaceURI(String prefix)
+ {
+ throw new Error("not implemented");
+ }
+
+ public String lookupPrefix(String namespaceURI)
+ {
+ throw new Error("not implemented");
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#normalize()
+ */
+ public void normalize()
+ {
+ // No text nodes so no action
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#removeChild(org.w3c.dom.Node)
+ */
+ public Node removeChild(Node oldChild)
+ {
+ if (oldChild == null)
+ throw new IllegalArgumentException();
+ children.remove(oldChild);
+ ((IIOMetadataNode)oldChild).parent = null;
+
+ return oldChild;
+ }
+
+ /* (non-Javadoc)
+ * @see org.w3c.dom.Node#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)
+ */
+ public Node replaceChild(Node newChild, Node oldChild)
+ {
+ if (newChild == null)
+ throw new IllegalArgumentException();
+ children.set(children.indexOf(oldChild), newChild);
+ ((IIOMetadataNode)oldChild).parent = null;
+ return oldChild;
+ }
+
+ public void setIdAttribute(String name, boolean isId)
+ throws DOMException
+ {
+ throw new Error("not implemented");
+ }
+
+ public void setIdAttributeNode(Attr idAttr, boolean isId)
+ throws DOMException
+ {
+ throw new Error("not implemented");
+ }
+
+ public void setIdAttributeNS(String namespaceURI, String localName, boolean isId)
+ throws DOMException
*** Patch too long, truncated ***
More information about the kaffe
mailing list