模块 java.desktop

类 IIOMetadataNode

java.lang.Object
javax.imageio.metadata.IIOMetadataNode
所有已实现的接口:
Element , Node , NodeList

public class IIOMetadataNode extends Object implements Element , NodeList
表示元数据树中节点的类,它实现了 org.w3c.dom.Element 接口,并且还允许通过 getUserObjectsetUserObject 方法存储非文本对象。

此类不适用于一般的 XML 处理。特别是,在图像 I/O API 中创建的 Element 节点与 Sun 的 org.w3.dom API 标准实现创建的节点不兼容。特别是,该实现针对简单用途进行了调整,可能无法很好地进行密集处理。

命名空间在此实现中被忽略。术语“标记名称”和“节点名称”始终被视为同义词。 Note: DOM Level 3 规范向 NodeElementAttr 接口添加了许多新方法,这些方法对 IIOMetadataNode 实现或规范没有值。在 IIOMetadataNode 或从 IIOMetadataNode 返回的 Attr 实例上调用此类方法将导致抛出 DOMException

参见:
  • 构造方法详细信息

    • IIOMetadataNode

      public IIOMetadataNode()
      构造一个空的 IIOMetadataNode
    • IIOMetadataNode

      public IIOMetadataNode(String  nodeName)
      构造具有给定节点名称的 IIOMetadataNode
      参数:
      nodeName - 节点的名称,如 String
  • 方法详情

    • getNodeName

      public String  getNodeName()
      返回与此节点关联的节点名称。
      指定者:
      getNodeName 在接口 Node
      返回:
      节点名称,作为 String
    • getNodeValue

      public String  getNodeValue()
      返回与此节点关联的值。
      指定者:
      getNodeValue 在接口 Node
      返回:
      节点值,作为 String
    • setNodeValue

      public void setNodeValue(String  nodeValue)
      设置与该节点关联的String值。
      指定者:
      setNodeValue 在接口 Node
    • getNodeType

      public short getNodeType()
      返回节点类型,始终为 ELEMENT_NODE
      指定者:
      getNodeType 在接口 Node
      返回:
      shortELEMENT_NODE
    • getParentNode

      public Node  getParentNode()
      返回此节点的父节点。 null 值表示该节点是其自身树的根。要将节点添加到现有树,请使用 insertBeforereplaceChildappendChild 方法之一。
      指定者:
      getParentNode 在接口 Node
      返回:
      父母,作为 Node
      参见:
    • getChildNodes

      public NodeList  getChildNodes()
      返回包含此节点的所有子节点的 NodeList。如果没有孩子,这是一个不包含节点的NodeList
      指定者:
      getChildNodes 在接口 Node
      返回:
      孩子们作为NodeList
    • getFirstChild

      public Node  getFirstChild()
      返回此节点的第一个子节点,如果节点没有子节点则返回 null
      指定者:
      getFirstChild 在接口 Node
      返回:
      第一个孩子,作为 Nodenull
    • getLastChild

      public Node  getLastChild()
      返回此节点的最后一个子节点,如果节点没有子节点则返回 null
      指定者:
      getLastChild 在接口 Node
      返回:
      最后一个孩子,作为 Nodenull
    • getPreviousSibling

      public Node  getPreviousSibling()
      返回此节点的前一个兄弟节点,如果此节点没有前一个兄弟节点,则返回 null
      指定者:
      getPreviousSibling 在接口 Node
      返回:
      前一个兄弟姐妹,作为 Nodenull
    • getNextSibling

      public Node  getNextSibling()
      返回此节点的下一个兄弟节点,如果节点没有下一个兄弟节点,则返回 null
      指定者:
      getNextSibling 在接口 Node
      返回:
      下一个兄弟姐妹,作为 Nodenull
    • getAttributes

      public NamedNodeMap  getAttributes()
      返回包含该节点属性的NamedNodeMap
      指定者:
      getAttributes 在接口 Node
      返回:
      a NamedNodeMap 包含此节点的属性。
    • getOwnerDocument

      public Document  getOwnerDocument()
      返回 null,因为 IIOMetadataNode 不属于任何 Document
      指定者:
      getOwnerDocument 在接口 Node
      返回:
      null .
    • insertBefore

      public Node  insertBefore(Node  newChild, Node  refChild)
      在现有子节点 refChild 之前插入节点 newChild。如果 refChildnull ,则在子列表的末尾插入 newChild
      指定者:
      insertBefore 在接口 Node
      参数:
      newChild - 要插入的 Node
      refChild - 参考 Node
      返回:
      被插入的节点。
      抛出:
      IllegalArgumentException - 如果 newChildnull
    • replaceChild

      public Node  replaceChild(Node  newChild, Node  oldChild)
      将子节点列表中的子节点oldChild替换为newChild,并返回oldChild节点。
      指定者:
      replaceChild 在接口 Node
      参数:
      newChild - 要插入的 Node
      oldChild - 要更换的 Node
      返回:
      节点被替换。
      抛出:
      IllegalArgumentException - 如果 newChildnull
    • removeChild

      public Node  removeChild(Node  oldChild)
      从子列表中删除 oldChild 指示的子节点,并将其返回。
      指定者:
      removeChild 在接口 Node
      参数:
      oldChild - 要删除的 Node
      返回:
      节点已删除。
      抛出:
      IllegalArgumentException - 如果 oldChildnull
    • appendChild

      public Node  appendChild(Node  newChild)
      将节点 newChild 添加到该节点的子节点列表的末尾。
      指定者:
      appendChild 在接口 Node
      参数:
      newChild - 要插入的 Node
      返回:
      添加的节点。
      抛出:
      IllegalArgumentException - 如果 newChildnull
    • hasChildNodes

      public boolean hasChildNodes()
      如果此节点有子节点,则返回 true
      指定者:
      hasChildNodes 在接口 Node
      返回:
      true 如果此节点有子节点。
    • cloneNode

      public Node  cloneNode(boolean deep)
      返回此节点的副本。重复节点没有父节点(getParentNode 返回 null )。如果正在执行浅克隆(deepfalse),新节点将没有任何子节点或兄弟节点。如果正在执行深度克隆,则新节点将形成完整克隆子树的根。
      指定者:
      cloneNode 在接口 Node
      参数:
      deep - 如果是 true ,则递归克隆指定节点下的子树;如果是 false ,则只克隆节点本身。
      返回:
      重复节点。
    • normalize

      public void normalize()
      什么都不做,因为 IIOMetadataNode 不包含 Text 子级。
      指定者:
      normalize 在接口 Node
    • isSupported

      public boolean isSupported(String  feature, String  version)
      由于不支持 DOM 功能,因此返回 false
      指定者:
      isSupported 在接口 Node
      参数:
      feature - 一个 String ,它被忽略了。
      version - 一个 String ,它被忽略了。
      返回:
      false .
    • getNamespaceURI

      public String  getNamespaceURI() throws DOMException
      返回 null ,因为不支持命名空间。
      指定者:
      getNamespaceURI 在接口 Node
      抛出:
      DOMException
    • getPrefix

      public String  getPrefix()
      返回 null ,因为不支持命名空间。
      指定者:
      getPrefix 在接口 Node
      返回:
      null .
      参见:
    • setPrefix

      public void setPrefix(String  prefix)
      什么都不做,因为不支持命名空间。
      指定者:
      setPrefix 在接口 Node
      参数:
      prefix - 一个 String ,它被忽略了。
      参见:
    • getLocalName

      public String  getLocalName()
      相当于 getNodeName
      指定者:
      getLocalName 在接口 Node
      返回:
      节点名称,作为 String
    • getTagName

      public String  getTagName()
      相当于 getNodeName
      指定者:
      getTagName 在接口 Element
      返回:
      节点名称,作为String
    • getAttribute

      public String  getAttribute(String  name)
      按名称检索属性值。
      指定者:
      getAttribute 在接口 Element
      参数:
      name - 要检索的属性的名称。
      返回:
      作为字符串的 Attr 值,如果该属性没有指定值或默认值,则为空字符串。
    • getAttributeNS

      public String  getAttributeNS(String  namespaceURI, String  localName)
      相当于 getAttribute(localName)
      指定者:
      getAttributeNS 在接口 Element
      参数:
      namespaceURI - 要检索的属性的名称空间 URI。
      localName - 要检索的属性的本地名称。
      返回:
      作为字符串的 Attr 值,如果该属性没有指定值或默认值,则为空字符串。
      参见:
    • setAttribute

      public void setAttribute(String  name, String  value)
      从接口 Element 复制的描述
      添加新属性。如果具有该名称的属性已存在于元素中,则其值将更改为 value 参数的值。这个值是一个简单的字符串;它在设置时未被解析。因此,任何标记(例如被识别为实体引用的语法)都被视为文字文本,并且在写出时需要通过实现进行适当的转义。为了分配包含实体引用的属性值,用户必须创建一个 Attr 节点加上任何 TextEntityReference 节点,构建适当的子树,并使用 setAttributeNode 将其分配为属性值。
      要设置具有限定名称和命名空间 URI 的属性,请使用 setAttributeNS 方法。
      指定者:
      setAttribute 在接口 Element
      参数:
      name - 要创建或更改的属性的名称。
      value - 以字符串形式设置的值。
    • setAttributeNS

      public void setAttributeNS(String  namespaceURI, String  qualifiedName, String  value)
      相当于 setAttribute(qualifiedName, value)
      指定者:
      setAttributeNS 在接口 Element
      参数:
      namespaceURI - 要创建或更改的属性的命名空间 URI。
      qualifiedName - 要创建或更改的属性的限定名称。
      value - 以字符串形式设置的值。
      参见:
    • removeAttribute

      public void removeAttribute(String  name)
      从接口 Element 复制的描述
      按名称删除属性。如果在 DTD 中定义了已删除属性的默认值,则新属性会立即出现,该属性具有默认值以及相应的名称空间 URI、本地名称和前缀(如果适用)。该实现可能会类似地处理来自其他模式的默认值,但应用程序应使用 Document.normalizeDocument() 来保证此信息是最新的。
      如果未找到具有此名称的属性,则此方法无效。
      要通过本地名称和命名空间 URI 删除属性,请使用 removeAttributeNS 方法。
      指定者:
      removeAttribute 在接口 Element
      参数:
      name - 要删除的属性的名称。
    • removeAttributeNS

      public void removeAttributeNS(String  namespaceURI, String  localName)
      相当于 removeAttribute(localName)
      指定者:
      removeAttributeNS 在接口 Element
      参数:
      namespaceURI - 要删除的属性的命名空间 URI。
      localName - 要删除的属性的本地名称。
    • getAttributeNode

      public Attr  getAttributeNode(String  name)
      从接口 Element 复制的描述
      按名称检索属性节点。
      要通过限定名称和命名空间 URI 检索属性节点,请使用 getAttributeNodeNS 方法。
      指定者:
      getAttributeNode 在接口 Element
      参数:
      name - 要检索的属性的名称 (nodeName)。
      返回:
      具有指定名称的 Attr 节点 ( nodeName ) 或 null 如果没有这样的属性。
    • getAttributeNodeNS

      public Attr  getAttributeNodeNS(String  namespaceURI, String  localName)
      相当于 getAttributeNode(localName)
      指定者:
      getAttributeNodeNS 在接口 Element
      参数:
      namespaceURI - 要检索的属性的名称空间 URI。
      localName - 要检索的属性的本地名称。
      返回:
      具有指定属性本地名称和命名空间 URI 的 Attr 节点,如果没有此类属性,则为 null
      参见:
    • setAttributeNode

      public Attr  setAttributeNode(Attr  newAttr) throws DOMException
      从接口 Element 复制的描述
      添加一个新的属性节点。如果具有该名称 ( nodeName ) 的属性已存在于元素中,它将被新属性替换。单独替换属性节点没有任何效果。
      要添加具有限定名称和命名空间 URI 的新属性节点,请使用 setAttributeNodeNS 方法。
      指定者:
      setAttributeNode 在接口 Element
      参数:
      newAttr - 要添加到属性列表的 Attr 节点。
      返回:
      如果 newAttr 属性替换现有属性,则返回替换的 Attr 节点,否则返回 null
      抛出:
      DOMException - WRONG_DOCUMENT_ERR:如果 newAttr 是从与创建元素的文档不同的文档创建的,则引发。
      NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的则引发。
      INUSE_ATTRIBUTE_ERR:如果 newAttr 已经是另一个 Element 对象的属性则引发。 DOM 用户必须显式克隆 Attr 节点才能在其他元素中重新使用它们。
    • setAttributeNodeNS

      public Attr  setAttributeNodeNS(Attr  newAttr)
      相当于 setAttributeNode(newAttr)
      指定者:
      setAttributeNodeNS 在接口 Element
      参数:
      newAttr - 要添加到属性列表的 Attr 节点。
      返回:
      如果 newAttr 属性替换了具有相同本地名称和名称空间 URI 的现有属性,则返回替换的 Attr 节点,否则返回 null
      参见:
    • removeAttributeNode

      public Attr  removeAttributeNode(Attr  oldAttr)
      从接口 Element 复制的描述
      删除指定的属性节点。如果在 DTD 中为已删除的 Attr 节点定义了默认值,则会立即出现一个新节点,该节点具有默认值以及相应的名称空间 URI、本地名称和前缀(如果适用)。该实现可能会类似地处理来自其他模式的默认值,但应用程序应使用 Document.normalizeDocument() 来保证此信息是最新的。
      指定者:
      removeAttributeNode 在接口 Element
      参数:
      oldAttr - 要从属性列表中删除的 Attr 节点。
      返回:
      已删除的 Attr 节点。
    • getElementsByTagName

      public NodeList  getElementsByTagName(String  name)
      从接口 Element 复制的描述
      按文档顺序返回具有给定标签名称的所有后代 ElementsNodeList
      指定者:
      getElementsByTagName 在接口 Element
      参数:
      name - 要匹配的标签的名称。特殊值“*”匹配所有标签。
      返回:
      匹配 Element 个节点的列表。
    • getElementsByTagNameNS

      public NodeList  getElementsByTagNameNS(String  namespaceURI, String  localName)
      相当于 getElementsByTagName(localName)
      指定者:
      getElementsByTagNameNS 在接口 Element
      参数:
      namespaceURI - 要匹配的元素的名称空间 URI。特殊值“*”匹配所有名称空间。
      localName - 要匹配的元素的本地名称。特殊值“*”匹配所有本地名称。
      返回:
      包含所有匹配的 Elements 的新 NodeList 对象。
    • hasAttributes

      public boolean hasAttributes()
      从接口 Node 复制的描述
      返回此节点(如果它是一个元素)是否具有任何属性。
      指定者:
      hasAttributes 在接口 Node
      返回:
      如果此节点具有任何属性,则返回 true,否则返回 false
    • hasAttribute

      public boolean hasAttribute(String  name)
      从接口 Element 复制的描述
      当在此元素上指定具有给定名称的属性或具有默认值时返回 true,否则返回 false
      指定者:
      hasAttribute 在接口 Element
      参数:
      name - 要查找的属性的名称。
      返回:
      true 如果在此元素上指定了具有给定名称的属性或具有默认值,则 false 否则。
    • hasAttributeNS

      public boolean hasAttributeNS(String  namespaceURI, String  localName)
      相当于 hasAttribute(localName)
      指定者:
      hasAttributeNS 在接口 Element
      参数:
      namespaceURI - 要查找的属性的命名空间 URI。
      localName - 要查找的属性的本地名称。
      返回:
      true 如果指定了具有给定本地名称和命名空间 URI 的属性或在此元素上具有默认值,则 false 否则。
    • getLength

      public int getLength()
      从接口 NodeList 复制的描述
      列表中的节点数。有效子节点索引的范围是 0 到 length-1(含)。
      指定者:
      getLength 在接口 NodeList
    • item

      public Node  item(int index)
      从接口 NodeList 复制的描述
      返回集合中的第 index 个项目。如果 index 大于或等于列表中的节点数,则返回 null
      指定者:
      item 在接口 NodeList
      参数:
      index - 集合索引。
      返回:
      NodeListnull 中第 index 位置的节点,如果那不是有效索引。
    • getUserObject

      public Object  getUserObject()
      返回与此节点关联的 Object 值。
      返回:
      用户 Object
      参见:
    • setUserObject

      public void setUserObject(Object  userObject)
      设置与此节点关联的值。
      参数:
      userObject - 用户 Object
      参见:
    • setIdAttribute

      public void setIdAttribute(String  name, boolean isId) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      setIdAttribute 在接口 Element
      参数:
      name - 属性的名称。
      isId - 属性是否为 ID 类型。
      抛出:
      DOMException - 总是。
    • setIdAttributeNS

      public void setIdAttributeNS(String  namespaceURI, String  localName, boolean isId) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      setIdAttributeNS 在接口 Element
      参数:
      namespaceURI - 属性的名称空间 URI。
      localName - 属性的本地名称。
      isId - 属性是否为 ID 类型。
      抛出:
      DOMException - 总是。
    • setIdAttributeNode

      public void setIdAttributeNode(Attr  idAttr, boolean isId) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      setIdAttributeNode 在接口 Element
      参数:
      idAttr - 属性节点。
      isId - 属性是否为 ID 类型。
      抛出:
      DOMException - 总是。
    • getSchemaTypeInfo

      public TypeInfo  getSchemaTypeInfo() throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      getSchemaTypeInfo 在接口 Element
      抛出:
      DOMException - 总是。
    • setUserData

      public Object  setUserData(String  key, Object  data, UserDataHandler  handler) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      setUserData 在接口 Node
      参数:
      key - 将对象关联到的键。
      data - 与给定键关联的对象,或 null 删除与该键的任何现有关联。
      handler - 关联到该键的处理程序,或 null
      返回:
      返回先前关联到此节点上给定键的 DOMUserData,如果没有则返回 null
      抛出:
      DOMException - 总是。
    • getUserData

      public Object  getUserData(String  key) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      getUserData 在接口 Node
      参数:
      key - 对象关联的键。
      返回:
      返回与此节点上给定键关联的 DOMUserData,如果没有则返回 null
      抛出:
      DOMException - 总是。
    • getFeature

      public Object  getFeature(String  feature, String  version) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      getFeature 在接口 Node
      参数:
      feature - 请求的功能的名称。请注意,特征名称前的任何加号“+”都将被忽略,因为它在此方法的上下文中并不重要。
      version - 这是要测试的功能的版本号。
      返回:
      返回一个对象,该对象实现了指定功能和版本的专用 API(如果有),如果没有实现与该功能关联的接口的对象,则返回 null。如果该方法返回的DOMObject实现了Node接口,则必须委托给主核Node,不能返回与主核Node不一致的结果,如属性、childNodes等。
      抛出:
      DOMException - 总是。
    • isSameNode

      public boolean isSameNode(Node  node) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      isSameNode 在接口 Node
      参数:
      node - 要测试的节点。
      返回:
      如果节点相同,则返回 true,否则返回 false
      抛出:
      DOMException - 总是。
    • isEqualNode

      public boolean isEqualNode(Node  node) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      isEqualNode 在接口 Node
      参数:
      node - 比较相等性的节点。
      返回:
      如果节点相等,则返回 true,否则返回 false
      抛出:
      DOMException - 总是。
    • lookupNamespaceURI

      public String  lookupNamespaceURI(String  prefix) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      lookupNamespaceURI 在接口 Node
      参数:
      prefix - 要查找的前缀。如果此参数是 null ,则该方法将返回默认命名空间 URI(如果有)。
      返回:
      返回关联的命名空间 URI 或 null(如果未找到)。
      抛出:
      DOMException - 总是。
    • isDefaultNamespace

      public boolean isDefaultNamespace(String  namespaceURI) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      isDefaultNamespace 在接口 Node
      参数:
      namespaceURI - 要查找的名称空间 URI。
      返回:
      如果指定的 namespaceURI 是默认命名空间,则返回 true,否则返回 false
      抛出:
      DOMException - 总是。
    • lookupPrefix

      public String  lookupPrefix(String  namespaceURI) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      lookupPrefix 在接口 Node
      参数:
      namespaceURI - 要查找的名称空间 URI。
      返回:
      如果找到则返回关联的名称空间前缀,如果未找到则返回 null。如果多个前缀与命名空间前缀相关联,则返回的命名空间前缀是依赖于实现的。
      抛出:
      DOMException - 总是。
    • getTextContent

      public String  getTextContent() throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      getTextContent 在接口 Node
      抛出:
      DOMException - 总是。
    • setTextContent

      public void setTextContent(String  textContent) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      setTextContent 在接口 Node
      抛出:
      DOMException - 总是。
    • compareDocumentPosition

      public short compareDocumentPosition(Node  other) throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      compareDocumentPosition 在接口 Node
      参数:
      other - 要与参考节点进行比较的节点。
      返回:
      返回节点相对于参考节点的定位方式。
      抛出:
      DOMException - 总是。
    • getBaseURI

      public String  getBaseURI() throws DOMException
      IIOMetadataNode 不支持此 DOM Level 3 方法,并将抛出 DOMException
      指定者:
      getBaseURI 在接口 Node
      抛出:
      DOMException - 总是。