aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/javax/imageio/metadata/IIOMetadataNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/javax/imageio/metadata/IIOMetadataNode.java')
-rw-r--r--libjava/classpath/javax/imageio/metadata/IIOMetadataNode.java709
1 files changed, 0 insertions, 709 deletions
diff --git a/libjava/classpath/javax/imageio/metadata/IIOMetadataNode.java b/libjava/classpath/javax/imageio/metadata/IIOMetadataNode.java
deleted file mode 100644
index db3de23..0000000
--- a/libjava/classpath/javax/imageio/metadata/IIOMetadataNode.java
+++ /dev/null
@@ -1,709 +0,0 @@
-/* IIOMetadataNode.java --
- Copyright (C) 2004 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., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 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 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;
-import javax.imageio.metadata.IIOMetadataFormatImpl.IIOMetadataNodeAttr;
-
-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;
-
- /**
- * Simple NamedNodeMap class for IIOMetadataNode.
- *
- * @author jlquinn
- */
- private class IIONamedNodeMap implements NamedNodeMap
- {
- HashMap attrs;
-
- /**
- * @param attrs
- * @param node
- */
- public IIONamedNodeMap(HashMap attrs)
- {
- this.attrs = attrs;
- }
-
- /* (non-Javadoc)
- * @see org.w3c.dom.NamedNodeMap#getNamedItem(java.lang.String)
- */
- public Node getNamedItem(String name)
- {
- return (Node)attrs.get(name);
- }
-
- /* (non-Javadoc)
- * @see org.w3c.dom.NamedNodeMap#setNamedItem(org.w3c.dom.Node)
- */
- public Node setNamedItem(Node arg) throws DOMException
- {
- if (arg instanceof IIOMetadataNodeAttr)
- {
- IIOMetadataNodeAttr attr = (IIOMetadataNodeAttr) arg;
- // The only code that can successfully do this is in this package.
- if (attr.owner != null)
- throw new DOMException(DOMException.INUSE_ATTRIBUTE_ERR, "");
- return (Node)attrs.put(attr.name, attr);
- }
- // Anything else gets treated as an invalid op.
- throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR, "");
- }
-
- /* (non-Javadoc)
- * @see org.w3c.dom.NamedNodeMap#removeNamedItem(java.lang.String)
- */
- public Node removeNamedItem(String name) throws DOMException
- {
- return (Node)attrs.remove(name);
- }
-
- /* (non-Javadoc)
- * @see org.w3c.dom.NamedNodeMap#item(int)
- */
- public Node item(int index)
- {
- return (Node)attrs.values().toArray()[index];
- }
-
- /* (non-Javadoc)
- * @see org.w3c.dom.NamedNodeMap#getLength()
- */
- public int getLength()
- {
- return attrs.size();
- }
-
- /* (non-Javadoc)
- * @see org.w3c.dom.NamedNodeMap#getNamedItemNS(java.lang.String, java.lang.String)
- */
- public Node getNamedItemNS(String namespaceURI, String localName)
- {
- return getNamedItem(localName);
- }
-
- /* (non-Javadoc)
- * @see org.w3c.dom.NamedNodeMap#setNamedItemNS(org.w3c.dom.Node)
- */
- public Node setNamedItemNS(Node arg) throws DOMException
- {
- return setNamedItem(arg);
- }
-
- /* (non-Javadoc)
- * @see org.w3c.dom.NamedNodeMap#removeNamedItemNS(java.lang.String, java.lang.String)
- */
- public Node removeNamedItemNS(String namespaceURI, String localName)
- throws DOMException
- {
- return removeNamedItem(localName);
- }
- }
-
- /**
- * Simple NodeList implementation for IIOMetadataNode.
- *
- * @author jlquinn
- *
- */
- private class IIONodeList implements NodeList
- {
- List children = new ArrayList();
-
- /* (non-Javadoc)
- * @see org.w3c.dom.NodeList#item(int)
- */
- public Node item(int index)
- {
- return (index < children.size()) ? (Node)children.get(index) : null;
- }
-
- /* (non-Javadoc)
- * @see org.w3c.dom.NodeList#getLength()
- */
- public int getLength()
- {
- return children.size();
- }
- }
-
- 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
- {
- return Element.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC;
- }
-
- /* (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 IIOMetadataNodeAttr(this, name, val);
- 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()
- {
- return null;
- }
-
- // 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 = getAttributeNode(name);
- if (attr != null)
- attr.setValue(value);
- else
- attrs.put(name, new IIOMetadataNodeAttr(this, name, value));
- }
-
- /* (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();)
- {
- IIOMetadataNodeAttr attr = (IIOMetadataNodeAttr)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)
- {
- return null;
- }
-
- /* (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()
- {
- return null;
- }
-
- public String getTextContent()
- throws DOMException
- {
- return null;
- }
-
- public Object getUserData(String key)
- {
- return null;
- }
-
- /* (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)
- {
- return true;
- }
-
- public boolean isEqualNode(Node arg)
- {
- return true;
- }
-
- 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)
- {
- return null;
- }
-
- public String lookupPrefix(String namespaceURI)
- {
- return null;
- }
-
- /* (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
- {
- }
-
- public void setIdAttributeNode(Attr idAttr, boolean isId)
- throws DOMException
- {
- }
-
- public void setIdAttributeNS(String namespaceURI, String localName, boolean isId)
- throws DOMException
- {
- }
-
- /* (non-Javadoc)
- * @see org.w3c.dom.Node#setNodeValue(java.lang.String)
- */
- public void setNodeValue(String nodeValue) throws DOMException
- {
- }
-
- /* (non-Javadoc)
- * @see org.w3c.dom.Node#setPrefix(java.lang.String)
- */
- public void setPrefix(String prefix)
- {
- }
-
- public void setTextContent(String textContent)
- throws DOMException
- {
- }
-
- public Object setUserData(String key, Object data, UserDataHandler handler)
- {
- return null;
- }
-}