Class Comment

  • All Implemented Interfaces:
    Cloneable

    public class Comment
    extends Node
    A comment node.
    Author:
    Jonathan Hedley, jonathan@hedley.net
    • Constructor Detail

      • Comment

        public Comment​(String data)
        Create a new comment node.
        Parameters:
        data - The contents of the comment
    • Method Detail

      • nodeName

        public String nodeName()
        Description copied from class: Node
        Get the node name of this node. Use for debugging purposes and not logic switching (for that, use instanceof).
        Specified by:
        nodeName in class Node
        Returns:
        node name
      • getData

        public String getData()
        Get the contents of the comment.
        Returns:
        comment content
      • clone

        public Comment clone()
        Description copied from class: Node
        Create a stand-alone, deep copy of this node, and all of its children. The cloned node will have no siblings or parent node. As a stand-alone object, any changes made to the clone or any of its children will not impact the original node.

        The cloned node may be adopted into another Document or node structure using Element.appendChild(Node).

        Overrides:
        clone in class Node
        Returns:
        a stand-alone cloned node, including clones of any children
        See Also:
        Node.shallowClone()
      • isXmlDeclaration

        public boolean isXmlDeclaration()
        Check if this comment looks like an XML Declaration.
        Returns:
        true if it looks like, maybe, it's an XML Declaration.
      • asXmlDeclaration

        public XmlDeclaration asXmlDeclaration()
        Attempt to cast this comment to an XML Declaration note.
        Returns:
        an XML declaration if it could be parsed as one, null otherwise.
      • hasAttributes

        protected final boolean hasAttributes()
        Description copied from class: Node
        Check if this Node has an actual Attributes object.
        Specified by:
        hasAttributes in class Node
      • attributes

        public final Attributes attributes()
        Description copied from class: Node
        Get all of the element's attributes.
        Specified by:
        attributes in class Node
        Returns:
        attributes (which implements iterable, in same order as presented in original HTML).
      • attr

        public String attr​(String key)
        Description copied from class: Node
        Get an attribute's value by its key. Case insensitive

        To get an absolute URL from an attribute that may be a relative URL, prefix the key with abs, which is a shortcut to the Node.absUrl(java.lang.String) method.

        E.g.:
        String url = a.attr("abs:href");
        Overrides:
        attr in class Node
        Parameters:
        key - The attribute key.
        Returns:
        The attribute, or empty string if not present (to avoid nulls).
        See Also:
        Node.attributes(), Node.hasAttr(String), Node.absUrl(String)
      • attr

        public Node attr​(String key,
                         String value)
        Description copied from class: Node
        Set an attribute (key=value). If the attribute already exists, it is replaced. The attribute key comparison is case insensitive. The key will be set with case sensitivity as set in the parser settings.
        Overrides:
        attr in class Node
        Parameters:
        key - The attribute key.
        value - The attribute value.
        Returns:
        this (for chaining)
      • hasAttr

        public boolean hasAttr​(String key)
        Description copied from class: Node
        Test if this element has an attribute. Case insensitive
        Overrides:
        hasAttr in class Node
        Parameters:
        key - The attribute key to check.
        Returns:
        true if the attribute exists, false if not.
      • removeAttr

        public Node removeAttr​(String key)
        Description copied from class: Node
        Remove an attribute from this node.
        Overrides:
        removeAttr in class Node
        Parameters:
        key - The attribute to remove.
        Returns:
        this (for chaining)
      • absUrl

        public String absUrl​(String key)
        Description copied from class: Node
        Get an absolute URL from a URL attribute that may be relative (i.e. an <a href> or <img src>).

        E.g.: String absUrl = linkEl.absUrl("href");

        If the attribute value is already absolute (i.e. it starts with a protocol, like http:// or https:// etc), and it successfully parses as a URL, the attribute is returned directly. Otherwise, it is treated as a URL relative to the element's Node.baseUri(), and made absolute using that.

        As an alternate, you can use the Node.attr(java.lang.String) method with the abs: prefix, e.g.: String absUrl = linkEl.attr("abs:href");

        Overrides:
        absUrl in class Node
        Parameters:
        key - The attribute key
        Returns:
        An absolute URL if one could be made, or an empty string (not null) if the attribute was missing or could not be made successfully into a URL.
        See Also:
        Node.attr(java.lang.String), URL(java.net.URL, String)
      • baseUri

        public String baseUri()
        Description copied from class: Node
        Get the base URI that applies to this node. Empty string if not defined. Used to make relative links absolute to.
        Specified by:
        baseUri in class Node
        Returns:
        base URI
      • doSetBaseUri

        protected void doSetBaseUri​(String baseUri)
        Description copied from class: Node
        Set the baseUri for just this node (not its descendants), if this Node tracks base URIs.
        Specified by:
        doSetBaseUri in class Node
        Parameters:
        baseUri - new URI
      • childNodeSize

        public int childNodeSize()
        Description copied from class: Node
        Get the number of child nodes that this node holds.
        Specified by:
        childNodeSize in class Node
        Returns:
        the number of child nodes that this node holds.
      • empty

        public Node empty()
        Description copied from class: Node
        Delete all this node's children.
        Specified by:
        empty in class Node
        Returns:
        this node, for chaining
      • doClone

        protected org.jsoup.nodes.LeafNode doClone​(Node parent)
        Overrides:
        doClone in class Node