- java.lang.Object
-
- javax.imageio.metadata.IIOMetadataNode
-
public class IIOMetadataNode extends Object implements Element, NodeList
A class representing a node in a meta-data tree, which implements theorg.w3c.dom.Elementinterface and additionally allows for the storage of non-textual objects via thegetUserObjectandsetUserObjectmethods.This class is not intended to be used for general XML processing. In particular,
Elementnodes created within the Image I/O API are not compatible with those created by Sun's standard implementation of theorg.w3.domAPI. In particular, the implementation is tuned for simple uses and may not perform well for intensive processing.Namespaces are ignored in this implementation. The terms "tag name" and "node name" are always considered to be synonymous. Note: The DOM Level 3 specification added a number of new methods to the
Node,ElementandAttrinterfaces that are not of value to theIIOMetadataNodeimplementation or specification. Calling such methods on anIIOMetadataNode, or anAttrinstance returned from anIIOMetadataNodewill result in aDOMExceptionbeing thrown.
-
-
Field Summary
-
Fields declared in interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
-
-
Constructor Summary
Constructors Constructor Description IIOMetadataNode()Constructs an emptyIIOMetadataNode.IIOMetadataNode(String nodeName)Constructs anIIOMetadataNodewith a given node name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NodeappendChild(Node newChild)Adds the nodenewChildto the end of the list of children of this node.NodecloneNode(boolean deep)Returns a duplicate of this node.shortcompareDocumentPosition(Node other)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.StringgetAttribute(String name)Retrieves an attribute value by name.AttrgetAttributeNodeNS(String namespaceURI, String localName)Equivalent togetAttributeNode(localName).StringgetAttributeNS(String namespaceURI, String localName)Equivalent togetAttribute(localName).NamedNodeMapgetAttributes()Returns aNamedNodeMapcontaining the attributes of this node.StringgetBaseURI()This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.NodeListgetChildNodes()Returns aNodeListthat contains all children of this node.NodeListgetElementsByTagNameNS(String namespaceURI, String localName)Equivalent togetElementsByTagName(localName).ObjectgetFeature(String feature, String version)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.NodegetFirstChild()Returns the first child of this node, ornullif the node has no children.NodegetLastChild()Returns the last child of this node, ornullif the node has no children.StringgetLocalName()Equivalent togetNodeName.StringgetNamespaceURI()Returnsnull, since namespaces are not supported.NodegetNextSibling()Returns the next sibling of this node, ornullif the node has no next sibling.StringgetNodeName()Returns the node name associated with this node.shortgetNodeType()Returns the node type, which is alwaysELEMENT_NODE.StringgetNodeValue()Returns the value associated with this node.DocumentgetOwnerDocument()Returnsnull, sinceIIOMetadataNodes do not belong to anyDocument.NodegetParentNode()Returns the parent of this node.StringgetPrefix()Returnsnull, since namespaces are not supported.NodegetPreviousSibling()Returns the previous sibling of this node, ornullif this node has no previous sibling.TypeInfogetSchemaTypeInfo()This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.StringgetTagName()Equivalent togetNodeName.StringgetTextContent()This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.ObjectgetUserData(String key)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.ObjectgetUserObject()Returns theObjectvalue associated with this node.booleanhasAttributeNS(String namespaceURI, String localName)Equivalent tohasAttribute(localName).booleanhasChildNodes()Returnstrueif this node has child nodes.NodeinsertBefore(Node newChild, Node refChild)Inserts the nodenewChildbefore the existing child noderefChild.booleanisDefaultNamespace(String namespaceURI)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.booleanisEqualNode(Node node)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.booleanisSameNode(Node node)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.booleanisSupported(String feature, String version)Returnsfalsesince DOM features are not supported.StringlookupNamespaceURI(String prefix)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.StringlookupPrefix(String namespaceURI)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.voidnormalize()Does nothing, sinceIIOMetadataNodes do not containTextchildren.voidremoveAttributeNS(String namespaceURI, String localName)Equivalent toremoveAttribute(localName).NoderemoveChild(Node oldChild)Removes the child node indicated byoldChildfrom the list of children, and returns it.NodereplaceChild(Node newChild, Node oldChild)Replaces the child nodeoldChildwithnewChildin the list of children, and returns theoldChildnode.AttrsetAttributeNodeNS(Attr newAttr)Equivalent tosetAttributeNode(newAttr).voidsetAttributeNS(String namespaceURI, String qualifiedName, String value)Equivalent tosetAttribute(qualifiedName, value).voidsetIdAttribute(String name, boolean isId)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.voidsetIdAttributeNode(Attr idAttr, boolean isId)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.voidsetIdAttributeNS(String namespaceURI, String localName, boolean isId)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.voidsetNodeValue(String nodeValue)Sets theStringvalue associated with this node.voidsetPrefix(String prefix)Does nothing, since namespaces are not supported.voidsetTextContent(String textContent)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.ObjectsetUserData(String key, Object data, UserDataHandler handler)This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.voidsetUserObject(Object userObject)Sets the value associated with this node.-
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods declared in interface org.w3c.dom.Element
getAttributeNode, getElementsByTagName, hasAttribute, removeAttribute, removeAttributeNode, setAttribute, setAttributeNode
-
Methods declared in interface org.w3c.dom.Node
hasAttributes
-
-
-
-
Constructor Detail
-
IIOMetadataNode
public IIOMetadataNode()
Constructs an emptyIIOMetadataNode.
-
IIOMetadataNode
public IIOMetadataNode(String nodeName)
Constructs anIIOMetadataNodewith a given node name.- Parameters:
nodeName- the name of the node, as aString.
-
-
Method Detail
-
getNodeName
public String getNodeName()
Returns the node name associated with this node.- Specified by:
getNodeNamein interfaceNode- Returns:
- the node name, as a
String.
-
getNodeValue
public String getNodeValue()
Returns the value associated with this node.- Specified by:
getNodeValuein interfaceNode- Returns:
- the node value, as a
String.
-
setNodeValue
public void setNodeValue(String nodeValue)
Sets theStringvalue associated with this node.- Specified by:
setNodeValuein interfaceNode
-
getNodeType
public short getNodeType()
Returns the node type, which is alwaysELEMENT_NODE.- Specified by:
getNodeTypein interfaceNode- Returns:
- the
shortvalueELEMENT_NODE.
-
getParentNode
public Node getParentNode()
Returns the parent of this node. Anullvalue indicates that the node is the root of its own tree. To add a node to an existing tree, use one of theinsertBefore,replaceChild, orappendChildmethods.- Specified by:
getParentNodein interfaceNode- Returns:
- the parent, as a
Node. - See Also:
insertBefore(org.w3c.dom.Node, org.w3c.dom.Node),replaceChild(org.w3c.dom.Node, org.w3c.dom.Node),appendChild(org.w3c.dom.Node)
-
getChildNodes
public NodeList getChildNodes()
Returns aNodeListthat contains all children of this node. If there are no children, this is aNodeListcontaining no nodes.- Specified by:
getChildNodesin interfaceNode- Returns:
- the children as a
NodeList
-
getFirstChild
public Node getFirstChild()
Returns the first child of this node, ornullif the node has no children.- Specified by:
getFirstChildin interfaceNode- Returns:
- the first child, as a
Node, ornull
-
getLastChild
public Node getLastChild()
Returns the last child of this node, ornullif the node has no children.- Specified by:
getLastChildin interfaceNode- Returns:
- the last child, as a
Node, ornull.
-
getPreviousSibling
public Node getPreviousSibling()
Returns the previous sibling of this node, ornullif this node has no previous sibling.- Specified by:
getPreviousSiblingin interfaceNode- Returns:
- the previous sibling, as a
Node, ornull.
-
getNextSibling
public Node getNextSibling()
Returns the next sibling of this node, ornullif the node has no next sibling.- Specified by:
getNextSiblingin interfaceNode- Returns:
- the next sibling, as a
Node, ornull.
-
getAttributes
public NamedNodeMap getAttributes()
Returns aNamedNodeMapcontaining the attributes of this node.- Specified by:
getAttributesin interfaceNode- Returns:
- a
NamedNodeMapcontaining the attributes of this node.
-
getOwnerDocument
public Document getOwnerDocument()
Returnsnull, sinceIIOMetadataNodes do not belong to anyDocument.- Specified by:
getOwnerDocumentin interfaceNode- Returns:
null.
-
insertBefore
public Node insertBefore(Node newChild, Node refChild)
Inserts the nodenewChildbefore the existing child noderefChild. IfrefChildisnull, insertnewChildat the end of the list of children.- Specified by:
insertBeforein interfaceNode- Parameters:
newChild- theNodeto insert.refChild- the referenceNode.- Returns:
- the node being inserted.
- Throws:
IllegalArgumentException- ifnewChildisnull.
-
replaceChild
public Node replaceChild(Node newChild, Node oldChild)
Replaces the child nodeoldChildwithnewChildin the list of children, and returns theoldChildnode.- Specified by:
replaceChildin interfaceNode- Parameters:
newChild- theNodeto insert.oldChild- theNodeto be replaced.- Returns:
- the node replaced.
- Throws:
IllegalArgumentException- ifnewChildisnull.
-
removeChild
public Node removeChild(Node oldChild)
Removes the child node indicated byoldChildfrom the list of children, and returns it.- Specified by:
removeChildin interfaceNode- Parameters:
oldChild- theNodeto be removed.- Returns:
- the node removed.
- Throws:
IllegalArgumentException- ifoldChildisnull.
-
appendChild
public Node appendChild(Node newChild)
Adds the nodenewChildto the end of the list of children of this node.- Specified by:
appendChildin interfaceNode- Parameters:
newChild- theNodeto insert.- Returns:
- the node added.
- Throws:
IllegalArgumentException- ifnewChildisnull.
-
hasChildNodes
public boolean hasChildNodes()
Returnstrueif this node has child nodes.- Specified by:
hasChildNodesin interfaceNode- Returns:
trueif this node has children.
-
cloneNode
public Node cloneNode(boolean deep)
Returns a duplicate of this node. The duplicate node has no parent (getParentNodereturnsnull). If a shallow clone is being performed (deepisfalse), the new node will not have any children or siblings. If a deep clone is being performed, the new node will form the root of a complete cloned subtree.
-
normalize
public void normalize()
Does nothing, sinceIIOMetadataNodes do not containTextchildren.
-
isSupported
public boolean isSupported(String feature, String version)
Returnsfalsesince DOM features are not supported.- Specified by:
isSupportedin interfaceNode- Parameters:
feature- aString, which is ignored.version- aString, which is ignored.- Returns:
false.
-
getNamespaceURI
public String getNamespaceURI() throws DOMException
Returnsnull, since namespaces are not supported.- Specified by:
getNamespaceURIin interfaceNode- Throws:
DOMException
-
getPrefix
public String getPrefix()
Returnsnull, since namespaces are not supported.- Specified by:
getPrefixin interfaceNode- Returns:
null.- See Also:
setPrefix(java.lang.String)
-
setPrefix
public void setPrefix(String prefix)
Does nothing, since namespaces are not supported.- Specified by:
setPrefixin interfaceNode- Parameters:
prefix- aString, which is ignored.- See Also:
getPrefix()
-
getLocalName
public String getLocalName()
Equivalent togetNodeName.- Specified by:
getLocalNamein interfaceNode- Returns:
- the node name, as a
String.
-
getTagName
public String getTagName()
Equivalent togetNodeName.- Specified by:
getTagNamein interfaceElement- Returns:
- the node name, as a
String
-
getAttribute
public String getAttribute(String name)
Retrieves an attribute value by name.- Specified by:
getAttributein interfaceElement- Parameters:
name- The name of the attribute to retrieve.- Returns:
- The
Attrvalue as a string, or the empty string if that attribute does not have a specified or default value.
-
getAttributeNS
public String getAttributeNS(String namespaceURI, String localName)
Equivalent togetAttribute(localName).- Specified by:
getAttributeNSin interfaceElement- Parameters:
namespaceURI- The namespace URI of the attribute to retrieve.localName- The local name of the attribute to retrieve.- Returns:
- The
Attrvalue as a string, or the empty string if that attribute does not have a specified or default value. - See Also:
setAttributeNS(java.lang.String, java.lang.String, java.lang.String)
-
setAttributeNS
public void setAttributeNS(String namespaceURI, String qualifiedName, String value)
Equivalent tosetAttribute(qualifiedName, value).- Specified by:
setAttributeNSin interfaceElement- Parameters:
namespaceURI- The namespace URI of the attribute to create or alter.qualifiedName- The qualified name of the attribute to create or alter.value- The value to set in string form.- See Also:
getAttributeNS(java.lang.String, java.lang.String)
-
removeAttributeNS
public void removeAttributeNS(String namespaceURI, String localName)
Equivalent toremoveAttribute(localName).- Specified by:
removeAttributeNSin interfaceElement- Parameters:
namespaceURI- The namespace URI of the attribute to remove.localName- The local name of the attribute to remove.
-
getAttributeNodeNS
public Attr getAttributeNodeNS(String namespaceURI, String localName)
Equivalent togetAttributeNode(localName).- Specified by:
getAttributeNodeNSin interfaceElement- Parameters:
namespaceURI- The namespace URI of the attribute to retrieve.localName- The local name of the attribute to retrieve.- Returns:
- The
Attrnode with the specified attribute local name and namespace URI ornullif there is no such attribute. - See Also:
setAttributeNodeNS(org.w3c.dom.Attr)
-
setAttributeNodeNS
public Attr setAttributeNodeNS(Attr newAttr)
Equivalent tosetAttributeNode(newAttr).- Specified by:
setAttributeNodeNSin interfaceElement- Parameters:
newAttr- TheAttrnode to add to the attribute list.- Returns:
- If the
newAttrattribute replaces an existing attribute with the same local name and namespace URI, the replacedAttrnode is returned, otherwisenullis returned. - See Also:
getAttributeNodeNS(java.lang.String, java.lang.String)
-
getElementsByTagNameNS
public NodeList getElementsByTagNameNS(String namespaceURI, String localName)
Equivalent togetElementsByTagName(localName).- Specified by:
getElementsByTagNameNSin interfaceElement- Parameters:
namespaceURI- The namespace URI of the elements to match on. The special value "*" matches all namespaces.localName- The local name of the elements to match on. The special value "*" matches all local names.- Returns:
- A new
NodeListobject containing all the matchedElements.
-
hasAttributeNS
public boolean hasAttributeNS(String namespaceURI, String localName)
Equivalent tohasAttribute(localName).- Specified by:
hasAttributeNSin interfaceElement- Parameters:
namespaceURI- The namespace URI of the attribute to look for.localName- The local name of the attribute to look for.- Returns:
trueif an attribute with the given local name and namespace URI is specified or has a default value on this element,falseotherwise.
-
getUserObject
public Object getUserObject()
Returns theObjectvalue associated with this node.- Returns:
- the user
Object. - See Also:
setUserObject(java.lang.Object)
-
setUserObject
public void setUserObject(Object userObject)
Sets the value associated with this node.- Parameters:
userObject- the userObject.- See Also:
getUserObject()
-
setIdAttribute
public void setIdAttribute(String name, boolean isId) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
setIdAttributein interfaceElement- Parameters:
name- The name of the attribute.isId- Whether the attribute is a of type ID.- Throws:
DOMException- always.
-
setIdAttributeNS
public void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
setIdAttributeNSin interfaceElement- Parameters:
namespaceURI- The namespace URI of the attribute.localName- The local name of the attribute.isId- Whether the attribute is a of type ID.- Throws:
DOMException- always.
-
setIdAttributeNode
public void setIdAttributeNode(Attr idAttr, boolean isId) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
setIdAttributeNodein interfaceElement- Parameters:
idAttr- The attribute node.isId- Whether the attribute is a of type ID.- Throws:
DOMException- always.
-
getSchemaTypeInfo
public TypeInfo getSchemaTypeInfo() throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
getSchemaTypeInfoin interfaceElement- Throws:
DOMException- always.
-
setUserData
public Object setUserData(String key, Object data, UserDataHandler handler) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
setUserDatain interfaceNode- Parameters:
key- The key to associate the object to.data- The object to associate to the given key, ornullto remove any existing association to that key.handler- The handler to associate to that key, ornull.- Returns:
- Returns the
DOMUserDatapreviously associated to the given key on this node, ornullif there was none. - Throws:
DOMException- always.
-
getUserData
public Object getUserData(String key) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
getUserDatain interfaceNode- Parameters:
key- The key the object is associated to.- Returns:
- Returns the
DOMUserDataassociated to the given key on this node, ornullif there was none. - Throws:
DOMException- always.
-
getFeature
public Object getFeature(String feature, String version) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
getFeaturein interfaceNode- Parameters:
feature- The name of the feature requested. Note that any plus sign "+" prepended to the name of the feature will be ignored since it is not significant in the context of this method.version- This is the version number of the feature to test.- Returns:
- Returns an object which implements the specialized APIs of
the specified feature and version, if any, or
nullif there is no object which implements interfaces associated with that feature. If theDOMObjectreturned by this method implements theNodeinterface, it must delegate to the primary coreNodeand not return results inconsistent with the primary coreNodesuch as attributes, childNodes, etc. - Throws:
DOMException- always.
-
isSameNode
public boolean isSameNode(Node node) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
isSameNodein interfaceNode- Parameters:
node- The node to test against.- Returns:
- Returns
trueif the nodes are the same,falseotherwise. - Throws:
DOMException- always.
-
isEqualNode
public boolean isEqualNode(Node node) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
isEqualNodein interfaceNode- Parameters:
node- The node to compare equality with.- Returns:
- Returns
trueif the nodes are equal,falseotherwise. - Throws:
DOMException- always.
-
lookupNamespaceURI
public String lookupNamespaceURI(String prefix) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
lookupNamespaceURIin interfaceNode- Parameters:
prefix- The prefix to look for. If this parameter isnull, the method will return the default namespace URI if any.- Returns:
- Returns the associated namespace URI or
nullif none is found. - Throws:
DOMException- always.
-
isDefaultNamespace
public boolean isDefaultNamespace(String namespaceURI) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
isDefaultNamespacein interfaceNode- Parameters:
namespaceURI- The namespace URI to look for.- Returns:
- Returns
trueif the specifiednamespaceURIis the default namespace,falseotherwise. - Throws:
DOMException- always.
-
lookupPrefix
public String lookupPrefix(String namespaceURI) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
lookupPrefixin interfaceNode- Parameters:
namespaceURI- The namespace URI to look for.- Returns:
- Returns an associated namespace prefix if found or
nullif none is found. If more than one prefix are associated to the namespace prefix, the returned namespace prefix is implementation dependent. - Throws:
DOMException- always.
-
getTextContent
public String getTextContent() throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
getTextContentin interfaceNode- Throws:
DOMException- always.
-
setTextContent
public void setTextContent(String textContent) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
setTextContentin interfaceNode- Throws:
DOMException- always.
-
compareDocumentPosition
public short compareDocumentPosition(Node other) throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
compareDocumentPositionin interfaceNode- Parameters:
other- The node to compare against the reference node.- Returns:
- Returns how the node is positioned relatively to the reference node.
- Throws:
DOMException- always.
-
getBaseURI
public String getBaseURI() throws DOMException
This DOM Level 3 method is not supported forIIOMetadataNodeand will throw aDOMException.- Specified by:
getBaseURIin interfaceNode- Throws:
DOMException- always.
-
-