Package org.jsoup.nodes
Class Attributes
java.lang.Object
org.jsoup.nodes.Attributes
public class Attributes extends Object implements Iterable<Attribute>, Cloneable
The attributes of an Element.
Attributes are treated as a map: there can be only one value associated with an attribute key/name.
Attribute name and value comparisons are generally case sensitive. By default for HTML, attribute names are normalized to lower-case on parsing. That means you should use lower-case strings when referring to attributes by name.
- Author:
- Jonathan Hedley, jonathan@hedley.net
-
Field Summary
Fields Modifier and Type Field Description protected static String
dataPrefix
-
Constructor Summary
Constructors Constructor Description Attributes()
-
Method Summary
Modifier and Type Method Description Attributes
add(String key, String value)
Adds a new attribute.void
addAll(Attributes incoming)
Add all the attributes from the incoming set to this set.List<Attribute>
asList()
Get the attributes as a List, for iteration.Attributes
clone()
Map<String,String>
dataset()
Retrieves a filtered view of attributes that are HTML5 custom data attributes; that is, attributes with keys starting withdata-
.int
deduplicate(ParseSettings settings)
Internal method.boolean
equals(Object o)
Checks if these attributes are equal to another set of attributes, by comparing the two setsString
get(String key)
Get an attribute value by key.String
getIgnoreCase(String key)
Get an attribute's value by case-insensitive keyboolean
hasDeclaredValueForKey(String key)
Check if these attributes contain an attribute with a value for this key.boolean
hasDeclaredValueForKeyIgnoreCase(String key)
Check if these attributes contain an attribute with a value for this key.int
hashCode()
Calculates the hashcode of these attributes, by iterating all attributes and summing their hashcodes.boolean
hasKey(String key)
Tests if these attributes contain an attribute with this key.boolean
hasKeyIgnoreCase(String key)
Tests if these attributes contain an attribute with this key.String
html()
Get the HTML representation of these attributes.boolean
isEmpty()
Test if this Attributes list is empty (size==0).Iterator<Attribute>
iterator()
void
normalize()
Internal method.Attributes
put(String key, boolean value)
Set a new boolean attribute, remove attribute if value is false.Attributes
put(String key, String value)
Set a new attribute, or replace an existing one by key.Attributes
put(Attribute attribute)
Set a new attribute, or replace an existing one by key.void
remove(String key)
Remove an attribute by key.void
removeIgnoreCase(String key)
Remove an attribute by key.int
size()
Get the number of attributes in this set, including any jsoup internal-only attributes.String
toString()
-
Field Details
-
dataPrefix
- See Also:
- Constant Field Values
-
-
Constructor Details
-
Attributes
public Attributes()
-
-
Method Details
-
get
Get an attribute value by key.- Parameters:
key
- the (case-sensitive) attribute key- Returns:
- the attribute value if set; or empty string if not set (or a boolean attribute).
- See Also:
hasKey(String)
-
getIgnoreCase
Get an attribute's value by case-insensitive key- Parameters:
key
- the attribute name- Returns:
- the first matching attribute value if set; or empty string if not set (ora boolean attribute).
-
add
Adds a new attribute. Will produce duplicates if the key already exists.- See Also:
put(String, String)
-
put
Set a new attribute, or replace an existing one by key.- Parameters:
key
- case sensitive attribute key (not null)value
- attribute value (may be null, to set a boolean attribute)- Returns:
- these attributes, for chaining
-
put
Set a new boolean attribute, remove attribute if value is false.- Parameters:
key
- case insensitive attribute keyvalue
- attribute value- Returns:
- these attributes, for chaining
-
put
Set a new attribute, or replace an existing one by key.- Parameters:
attribute
- attribute with case sensitive key- Returns:
- these attributes, for chaining
-
remove
Remove an attribute by key. Case sensitive.- Parameters:
key
- attribute key to remove
-
removeIgnoreCase
Remove an attribute by key. Case insensitive.- Parameters:
key
- attribute key to remove
-
hasKey
Tests if these attributes contain an attribute with this key.- Parameters:
key
- case-sensitive key to check for- Returns:
- true if key exists, false otherwise
-
hasKeyIgnoreCase
Tests if these attributes contain an attribute with this key.- Parameters:
key
- key to check for- Returns:
- true if key exists, false otherwise
-
hasDeclaredValueForKey
Check if these attributes contain an attribute with a value for this key.- Parameters:
key
- key to check for- Returns:
- true if key exists, and it has a value
-
hasDeclaredValueForKeyIgnoreCase
Check if these attributes contain an attribute with a value for this key.- Parameters:
key
- case-insensitive key to check for- Returns:
- true if key exists, and it has a value
-
size
public int size()Get the number of attributes in this set, including any jsoup internal-only attributes. Internal attributes are excluded from thehtml()
,asList()
, anditerator()
methods.- Returns:
- size
-
isEmpty
public boolean isEmpty()Test if this Attributes list is empty (size==0). -
addAll
Add all the attributes from the incoming set to this set.- Parameters:
incoming
- attributes to add to these attributes.
-
iterator
-
asList
Get the attributes as a List, for iteration.- Returns:
- an view of the attributes as an unmodifiable List.
-
dataset
Retrieves a filtered view of attributes that are HTML5 custom data attributes; that is, attributes with keys starting withdata-
.- Returns:
- map of custom data attributes.
-
html
Get the HTML representation of these attributes.- Returns:
- HTML
-
toString
-
equals
Checks if these attributes are equal to another set of attributes, by comparing the two sets -
hashCode
public int hashCode()Calculates the hashcode of these attributes, by iterating all attributes and summing their hashcodes. -
clone
-
normalize
public void normalize()Internal method. Lowercases all keys. -
deduplicate
Internal method. Removes duplicate attribute by name. Settings for case sensitivity of key names.- Parameters:
settings
- case sensitivity- Returns:
- number of removed dupes
-