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.)
  • Field Details

    • booleanAttributes

      private static final String[] booleanAttributes
    • key

      private String key
    • val

      private String val
    • parent

      Attributes parent
    • xmlKeyValid

      private static final Pattern xmlKeyValid
    • xmlKeyReplace

      private static final Pattern xmlKeyReplace
    • htmlKeyValid

      private static final Pattern htmlKeyValid
    • htmlKeyReplace

      private static final Pattern htmlKeyReplace
  • 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(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
    • sourceRange

      public Range.AttributeRange sourceRange()
      Get the source ranges (start to end positions) in the original input source from which this attribute's name and value were parsed.

      Position tracking must be enabled prior to parsing the content.

      Returns:
      the ranges for the attribute's name and value, or untracked if the attribute does not exist or its range was not tracked.
      Since:
      1.17.1
      See Also:
    • html

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

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

      static void htmlNoValidate(String key, String val, Appendable accum, Document.OutputSettings out) throws IOException
      Throws:
      IOException
    • getValidKey

      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, 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(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