Package org.jsoup.nodes

Class Attribute

java.lang.Object
org.jsoup.nodes.Attribute
All Implemented Interfaces:
Cloneable, Map.Entry<String,​String>

public class Attribute
extends Object
implements Map.Entry<String,​String>, Cloneable
A single key + value attribute. (Only used for presentation.)
  • Constructor Details

  • Method Details

    • getKey

      public String getKey()
      Get the attribute key.
      Specified by:
      getKey in interface Map.Entry<String,​String>
      Returns:
      the attribute key
    • setKey

      public void setKey​(String key)
      Set the attribute key; case is preserved.
      Parameters:
      key - the new key; must not be null
    • getValue

      public String getValue()
      Get the attribute value. Will return an empty string if the value is not set.
      Specified by:
      getValue in interface Map.Entry<String,​String>
      Returns:
      the attribute value
    • hasDeclaredValue

      public boolean hasDeclaredValue()
      Check if this Attribute has a value. Set boolean attributes have no value.
      Returns:
      if this is a boolean attribute / attribute without a value
    • setValue

      public String setValue​(@Nullable String val)
      Set the attribute value.
      Specified by:
      setValue in interface Map.Entry<String,​String>
      Parameters:
      val - the new attribute value; may be null (to set an enabled boolean attribute)
      Returns:
      the previous value (if was null; an empty string)
    • html

      public String html()
      Get the HTML representation of this attribute; e.g. href="index.html".
      Returns:
      HTML
    • html

      protected void html​(Appendable accum, Document.OutputSettings out) throws IOException
      Throws:
      IOException
    • html

      protected static void html​(String key, @Nullable String val, Appendable accum, Document.OutputSettings out) throws IOException
      Throws:
      IOException
    • getValidKey

      @Nullable public static String getValidKey​(String key, Document.OutputSettings.Syntax syntax)
    • toString

      public String toString()
      Get the string representation of this attribute, implemented as html().
      Overrides:
      toString in class Object
      Returns:
      string
    • createFromEncoded

      public static Attribute createFromEncoded​(String unencodedKey, String encodedValue)
      Create a new Attribute from an unencoded key and a HTML attribute encoded value.
      Parameters:
      unencodedKey - assumes the key is not encoded, as can be only run of simple \w chars.
      encodedValue - HTML attribute encoded value
      Returns:
      attribute
    • isDataAttribute

      protected boolean isDataAttribute()
    • isDataAttribute

      protected static boolean isDataAttribute​(String key)
    • shouldCollapseAttribute

      protected final boolean shouldCollapseAttribute​(Document.OutputSettings out)
      Collapsible if it's a boolean attribute and value is empty or same as name
      Parameters:
      out - output settings
      Returns:
      Returns whether collapsible or not
    • shouldCollapseAttribute

      protected static boolean shouldCollapseAttribute​(String key, @Nullable String val, Document.OutputSettings out)
    • isBooleanAttribute

      public static boolean isBooleanAttribute​(String key)
      Checks if this attribute name is defined as a boolean attribute in HTML5
    • equals

      public boolean equals​(@Nullable Object o)
      Specified by:
      equals in interface Map.Entry<String,​String>
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Map.Entry<String,​String>
      Overrides:
      hashCode in class Object
    • clone

      public Attribute clone()
      Overrides:
      clone in class Object