Module  java.desktop

Class IIOMetadataNode

  • All Implemented Interfaces:
    ElementNodeNodeList


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

    此类不适用于一般的XML处理。 特别地,在Image I / O API中创建的Element节点与Sun的org.w3.dom API的标准实现创建的节点不兼容。 特别地,该实现被调整为简单的用途,并且对于密集处理可能不能很好地执行。

    命名空间在此实现中被忽略。 术语“标签名称”和“节点名称”总是被认为是同义词。 注:DOM Level 3的规格增加了一些新的方法到NodeElementAttr这是价值的未接口IIOMetadataNode实施或规范。 IIOMetadataNode返回的IIOMetadataNodeAttr实例调用此类方法将导致抛出DOMException

    另请参见:
    IIOMetadata.getAsTree(java.lang.String)IIOMetadata.setFromTree(java.lang.String, org.w3c.dom.Node)IIOMetadata.mergeTree(java.lang.String, org.w3c.dom.Node)
    • 构造方法详细信息

      • IIOMetadataNode

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

        public IIOMetadataNode​(String nodeName)
        构造具有给定节点名称的 IIOMetadataNode
        参数
        nodeName - 节点的名称,作为 String
    • 方法详细信息

      • getNodeName

        public String getNodeName​()
        返回与此节点相关联的节点名称。
        Specified by:
        getNodeName在接口 Node
        结果
        节点名称,作为 String
      • getNodeValue

        public String getNodeValue​()
        返回与该节点关联的值。
        Specified by:
        getNodeValue在接口 Node
        结果
        节点值,作为 String
      • setNodeValue

        public void setNodeValue​(String nodeValue)
        设置与此节点相关联的 String值。
        Specified by:
        setNodeValue在接口 Node
      • getNodeType

        public short getNodeType​()
        返回节点类型,始终为 ELEMENT_NODE
        Specified by:
        getNodeType在接口 Node
        结果
        short价值 ELEMENT_NODE
      • getChildNodes

        public NodeList getChildNodes​()
        返回一个包含此节点的所有子节点的NodeList 如果没有孩子,这是一个NodeList包含节点的NodeList
        Specified by:
        getChildNodes在接口 Node
        结果
        孩子们为 NodeList
      • getFirstChild

        public Node getFirstChild​()
        返回此节点的第一个子节点,如果该节点没有子节点,则返回 null
        Specified by:
        getFirstChild在接口 Node
        结果
        第一个孩子,作为 Node ,或 null
      • getLastChild

        public Node getLastChild​()
        返回此节点的最后一个子节点,如果该节点没有子节点,则返回 null
        Specified by:
        getLastChild在接口 Node
        结果
        最后一个孩子,作为 Node ,或 null
      • getPreviousSibling

        public Node getPreviousSibling​()
        返回此节点的上一个兄弟节点,如果此节点没有以前的兄弟节点,则返回 null
        Specified by:
        getPreviousSibling在接口 Node
        结果
        以前的兄弟姐妹,作为 Node ,或 null
      • getNextSibling

        public Node getNextSibling​()
        返回此节点的下一个兄弟节点,如果节点没有下一个兄弟节点,则返回 null
        Specified by:
        getNextSibling在接口 Node
        结果
        下一个兄弟姐妹,如 Nodenull
      • getAttributes

        public NamedNodeMap getAttributes​()
        返回包含此节点属性的 NamedNodeMap
        Specified by:
        getAttributes在接口 Node
        结果
        一个 NamedNodeMap包含此节点的属性。
      • getOwnerDocument

        public Document getOwnerDocument​()
        退货 null ,因为 IIOMetadataNode不属于任何 Document
        Specified by:
        getOwnerDocument在接口 Node
        结果
        null
      • insertBefore

        public Node insertBefore​(Node newChild,
                                 Node refChild)
        插入节点newChild现有的子节点之前refChild 如果refChildnullnewChild在子列表的末尾插入newChild
        Specified by:
        insertBefore在接口 Node
        参数
        newChild - 要插入的 Node
        refChild - 参考 Node
        结果
        该节点被插入。
        异常
        IllegalArgumentException - 如果 newChildnull
      • replaceChild

        public Node replaceChild​(Node newChild,
                                 Node oldChild)
        替换子节点 oldChildnewChild儿童的名单,并返回 oldChild节点。
        Specified by:
        replaceChild在接口 Node
        参数
        newChild - 要插入的 Node
        oldChild - 要更换的 Node
        结果
        节点被替换。
        异常
        IllegalArgumentException - 如果 newChildnull
      • removeChild

        public Node removeChild​(Node oldChild)
        从小孩列表中删除 oldChild指示的子节点,并返回。
        Specified by:
        removeChild在接口 Node
        参数
        oldChild - 要删除的 Node
        结果
        节点被删除。
        异常
        IllegalArgumentException - 如果 oldChildnull
      • appendChild

        public Node appendChild​(Node newChild)
        将节点 newChild添加到此节点的子节点列表的末尾。
        Specified by:
        appendChild在接口 Node
        参数
        newChild - 要插入的 Node
        结果
        节点被添加。
        异常
        IllegalArgumentException - 如果 newChildnull
      • hasChildNodes

        public boolean hasChildNodes​()
        如果此节点具有子节点,则返回 true
        Specified by:
        hasChildNodes在接口 Node
        结果
        true如果此节点有子节点。
      • cloneNode

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

        public void normalize​()
        没有,因为 IIOMetadataNode的不包含 Text孩子。
        Specified by:
        normalize在接口 Node
      • isSupported

        public boolean isSupported​(String feature,
                                   String version)
        返回 false因为不支持DOM功能。
        Specified by:
        isSupported在接口 Node
        参数
        feature - a String ,被忽略。
        version - a String ,被忽略。
        结果
        false
      • setPrefix

        public void setPrefix​(String prefix)
        不支持命名空间,
        Specified by:
        setPrefix在接口 Node
        参数
        prefix - a String ,被忽略。
        另请参见:
        getPrefix()
      • getLocalName

        public String getLocalName​()
        相当于 getNodeName
        Specified by:
        getLocalName在接口 Node
        结果
        节点名称,作为 String
      • getTagName

        public String getTagName​()
        相当于 getNodeName
        Specified by:
        getTagName在接口 Element
        结果
        节点名称,作为 String
      • getAttribute

        public String getAttribute​(String name)
        按名称检索属性值。
        Specified by:
        getAttribute接口 Element
        参数
        name - 要检索的属性的名称。
        结果
        Attr值作为字符串,或空字符串,如果该属性没有指定或默认值。
      • setAttribute

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

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

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

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

        public Attr getAttributeNode​(String name)
        说明从界面Element复制
        按名称检索属性节点。
        要通过限定名称和命名空间URI检索属性节点,请使用getAttributeNodeNS方法。
        Specified by:
        getAttributeNode在接口 Element
        参数
        name - 要检索的属性的名称( nodeName )。
        结果
        具有指定名称( nodeName )或 nullAttr节点,如果没有此类属性。
      • getAttributeNodeNS

        public Attr getAttributeNodeNS​(String namespaceURI,
                                       String localName)
        相当于 getAttributeNode(localName)
        Specified by:
        getAttributeNodeNS在接口 Element
        参数
        namespaceURI - 要检索的属性的命名空间URI。
        localName - 要检索的属性的本地名称。
        结果
        具有指定属性本地名称和命名空间URI的 Attr节点或 null如果没有这样的属性。
        另请参见:
        setAttributeNodeNS(org.w3c.dom.Attr)
      • setAttributeNode

        public Attr setAttributeNode​(Attr newAttr)
                              throws DOMException
        描述从接口Element复制
        添加一个新的属性节点。 如果具有该名称的属性( nodeName )已经存在于元素中,则会被新的属性替换。 替换属性节点本身不起作用。
        要添加具有限定名称和命名空间URI的新属性节点,请使用setAttributeNodeNS方法。
        Specified by:
        setAttributeNode接口 Element
        参数
        newAttr - 要添加到属性列表的 Attr节点。
        结果
        如果 newAttr属性替换现有属性,则返回替换的 Attr节点,否则返回 null
        异常
        DOMException - WRONG_DOCUMENT_ERR:如果newAttr是从创建该元素的文档创建的文档而newAttr的。
        NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发。
        INUSE_ATTRIBUTE_ERR:如果newAttr已经是另一个Element对象的属性,则Element DOM用户必须显式克隆Attr节点,以便在其他元素中重新使用它们。
      • setAttributeNodeNS

        public Attr setAttributeNodeNS​(Attr newAttr)
        相当于 setAttributeNode(newAttr)
        Specified by:
        setAttributeNodeNS在接口 Element
        参数
        newAttr - 要添加到属性列表的 Attr节点。
        结果
        如果 newAttr属性用相同的本地名称和命名空间URI替换现有属性,则返回替换的 Attr节点,否则返回 null
        另请参见:
        getAttributeNodeNS(java.lang.String, java.lang.String)
      • removeAttributeNode

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

        public NodeList getElementsByTagName​(String name)
        说明从接口Element复制
        返回 NodeList所有子孙的 Elements具有给定标记名称,在文档顺序。
        Specified by:
        getElementsByTagName在接口 Element
        参数
        name - 要匹配的标签的名称。 特殊值“*”匹配所有标签。
        结果
        匹配的列表 Element节点。
      • getElementsByTagNameNS

        public NodeList getElementsByTagNameNS​(String namespaceURI,
                                               String localName)
        相当于 getElementsByTagName(localName)
        Specified by:
        getElementsByTagNameNS接口 Element
        参数
        namespaceURI - 要匹配的元素的命名空间URI。 特殊值“*”匹配所有命名空间。
        localName - 要匹配的元素的本地名称。 特殊值“*”与所有本地名称相匹配。
        结果
        一个新的 NodeList对象包含所有匹配的 Elements
      • hasAttributes

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

        public boolean hasAttribute​(String name)
        说明从界面Element复制
        返回 true当具有给定名称的属性在此元素上指定或具有默认值 false
        Specified by:
        hasAttribute在接口 Element
        参数
        name - 要查找的属性的名称。
        结果
        true如果在该元素上指定了具有给定名称的属性,或者具有默认值, false
      • hasAttributeNS

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

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

        public Node item​(int index)
        描述从接口NodeList复制
        返回集合中的index项目。 如果index大于或等于列表中的节点数,则返回null
        Specified by:
        item在接口 NodeList
        参数
        index - 索引到集合。
        结果
        该节点在 index位置在 NodeList ,或 null如果那不是有效的索引。
      • setUserObject

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

        public void setIdAttribute​(String name,
                                   boolean isId)
                            throws DOMException
        IIOMetadataNode不支持此DOM 3级方法,并将抛出一个 DOMException
        Specified by:
        setIdAttribute在接口 Element
        参数
        name - 属性的名称。
        isId - 属性是否是类型ID。
        异常
        DOMException - 永远。
      • setIdAttributeNS

        public void setIdAttributeNS​(String namespaceURI,
                                     String localName,
                                     boolean isId)
                              throws DOMException
        IIOMetadataNode不支持此DOM 3级方法,并将抛出一个 DOMException
        Specified by:
        setIdAttributeNS在接口 Element
        参数
        namespaceURI - 属性的命名空间URI。
        localName - 属性的本地名称。
        isId - 属性是否为类型ID。
        异常
        DOMException - 永远。
      • setIdAttributeNode

        public void setIdAttributeNode​(Attr idAttr,
                                       boolean isId)
                                throws DOMException
        对于 IIOMetadataNode不支持此DOM 3级方法,并将抛出一个 DOMException
        Specified by:
        setIdAttributeNode在接口 Element
        参数
        idAttr - 属性节点。
        isId - 属性是否为类型ID。
        异常
        DOMException - 永远。
      • setUserData

        public Object setUserData​(String key,
                                  Object data,
                                  UserDataHandler handler)
                           throws DOMException
        对于 IIOMetadataNode不支持此DOM 3级方法,并将抛出一个 DOMException
        Specified by:
        setUserData在接口 Node
        参数
        key - 将对象关联到的关键。
        data - 与给定键相关联的对象,或 null以删除与该键的任何现有关联。
        handler - 与该键关联的处理程序,或 null
        结果
        返回以前与此节点上的给定键相关联的 null如果没有,则返回 DOMUserData
        异常
        DOMException - 永远。
      • getUserData

        public Object getUserData​(String key)
                           throws DOMException
        IIOMetadataNode不支持此DOM 3级方法,并会抛出一个 DOMException
        Specified by:
        getUserData在接口 Node
        参数
        key - 对象所关联的关键字。
        结果
        返回与此节点上的给定键相关联的 null如果没有,则返回 DOMUserData
        异常
        DOMException - 永远。
      • getFeature

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

        public boolean isSameNode​(Node node)
                           throws DOMException
        IIOMetadataNode不支持此DOM 3级方法,并将抛出 DOMException
        Specified by:
        isSameNode在接口 Node
        参数
        node - 要测试的节点。
        结果
        返回 true如果节点是相同的, false否则。
        异常
        DOMException - 永远。
      • isEqualNode

        public boolean isEqualNode​(Node node)
                            throws DOMException
        IIOMetadataNode不支持此DOM 3级方法,并将抛出一个 DOMException
        Specified by:
        isEqualNode在接口 Node
        参数
        node - 与...相比较的节点。
        结果
        返回 true如果节点相等, false否则。
        异常
        DOMException - 永远。
      • lookupNamespaceURI

        public String lookupNamespaceURI​(String prefix)
                                  throws DOMException
        这个DOM Level 3方法不支持 IIOMetadataNode ,并将抛出一个 DOMException
        Specified by:
        lookupNamespaceURI在接口 Node
        参数
        prefix - 要查找的前缀。 如果此参数为null ,则该方法将返回默认名称空间URI(如果有)。
        结果
        如果没有找到,返回相关的命名空间URI或 null
        异常
        DOMException - 永远。
      • isDefaultNamespace

        public boolean isDefaultNamespace​(String namespaceURI)
                                   throws DOMException
        这个DOM Level 3方法不支持 IIOMetadataNode ,并将抛出一个 DOMException
        Specified by:
        isDefaultNamespace在接口 Node
        参数
        namespaceURI - 要查找的命名空间URI。
        结果
        返回 true如果指定 namespaceURI是默认的命名空间, false否则。
        异常
        DOMException - 永远。
      • lookupPrefix

        public String lookupPrefix​(String namespaceURI)
                            throws DOMException
        这个DOM Level 3方法不支持 IIOMetadataNode ,并将抛出一个 DOMException
        Specified by:
        lookupPrefix在接口 Node
        参数
        namespaceURI - 要查找的命名空间URI。
        结果
        如果找到,返回一个关联的命名空间前缀,如果没有找到,返回null 如果多个前缀与命名空间前缀相关联,则返回的命名空间前缀取决于实现。
        异常
        DOMException - 永远。
      • setTextContent

        public void setTextContent​(String textContent)
                            throws DOMException
        对于 IIOMetadataNode不支持此DOM 3级方法,并将抛出一个 DOMException
        Specified by:
        setTextContent在接口 Node
        异常
        DOMException - 永远。
      • compareDocumentPosition

        public short compareDocumentPosition​(Node other)
                                      throws DOMException
        IIOMetadataNode不支持此DOM 3级方法,并将抛出一个 DOMException
        Specified by:
        compareDocumentPosition在接口 Node
        参数
        other - 与参考节点进行比较的节点。
        结果
        返回节点相对于参考节点的位置。
        异常
        DOMException - 永远。
      • getBaseURI

        public String getBaseURI​()
                          throws DOMException
        对于 IIOMetadataNode不支持此DOM 3级方法,并将抛出一个 DOMException
        Specified by:
        getBaseURI在接口 Node
        异常
        DOMException - 永远。