public class Attributes extends java.lang.Object implements java.lang.Iterable<Attribute>, java.lang.Cloneable
Attributes are treated as a map: there can be only one value associated with an attribute key/name.
Attribute name and value comparisons are 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.
Modifier and Type | Class and Description |
---|---|
private class |
Attributes.Dataset |
Modifier and Type | Field and Description |
---|---|
private java.util.LinkedHashMap<java.lang.String,Attribute> |
attributes |
protected static java.lang.String |
dataPrefix |
Constructor and Description |
---|
Attributes() |
Modifier and Type | Method and Description |
---|---|
void |
addAll(Attributes incoming)
Add all the attributes from the incoming set to this set.
|
java.util.List<Attribute> |
asList()
Get the attributes as a List, for iteration.
|
Attributes |
clone() |
private static java.lang.String |
dataKey(java.lang.String key) |
java.util.Map<java.lang.String,java.lang.String> |
dataset()
Retrieves a filtered view of attributes that are HTML5 custom data attributes; that is, attributes with keys
starting with
data- . |
boolean |
equals(java.lang.Object o)
Checks if these attributes are equal to another set of attributes, by comparing the two sets
|
java.lang.String |
get(java.lang.String key)
Get an attribute value by key.
|
java.lang.String |
getIgnoreCase(java.lang.String key)
Get an attribute's value by case-insensitive key
|
int |
hashCode()
Calculates the hashcode of these attributes, by iterating all attributes and summing their hashcodes.
|
boolean |
hasKey(java.lang.String key)
Tests if these attributes contain an attribute with this key.
|
boolean |
hasKeyIgnoreCase(java.lang.String key)
Tests if these attributes contain an attribute with this key.
|
java.lang.String |
html()
Get the HTML representation of these attributes.
|
(package private) void |
html(java.lang.Appendable accum,
Document.OutputSettings out) |
java.util.Iterator<Attribute> |
iterator() |
void |
put(Attribute attribute)
Set a new attribute, or replace an existing one by key.
|
void |
put(java.lang.String key,
boolean value)
Set a new boolean attribute, remove attribute if value is false.
|
void |
put(java.lang.String key,
java.lang.String value)
Set a new attribute, or replace an existing one by key.
|
void |
remove(java.lang.String key)
Remove an attribute by key.
|
void |
removeIgnoreCase(java.lang.String key)
Remove an attribute by key.
|
int |
size()
Get the number of attributes in this set.
|
java.lang.String |
toString() |
protected static final java.lang.String dataPrefix
private java.util.LinkedHashMap<java.lang.String,Attribute> attributes
public java.lang.String get(java.lang.String key)
key
- the (case-sensitive) attribute keyhasKey(String)
public java.lang.String getIgnoreCase(java.lang.String key)
key
- the attribute namepublic void put(java.lang.String key, java.lang.String value)
key
- attribute keyvalue
- attribute valuepublic void put(java.lang.String key, boolean value)
key
- attribute keyvalue
- attribute valuepublic void put(Attribute attribute)
attribute
- attributepublic void remove(java.lang.String key)
key
- attribute key to removepublic void removeIgnoreCase(java.lang.String key)
key
- attribute key to removepublic boolean hasKey(java.lang.String key)
key
- case-sensitive key to check forpublic boolean hasKeyIgnoreCase(java.lang.String key)
key
- key to check forpublic int size()
public void addAll(Attributes incoming)
incoming
- attributes to add to these attributes.public java.util.Iterator<Attribute> iterator()
iterator
in interface java.lang.Iterable<Attribute>
public java.util.List<Attribute> asList()
public java.util.Map<java.lang.String,java.lang.String> dataset()
data-
.public java.lang.String html()
SerializationException
- if the HTML representation of the attributes cannot be constructed.void html(java.lang.Appendable accum, Document.OutputSettings out) throws java.io.IOException
java.io.IOException
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
o
- attributes to compare withpublic int hashCode()
hashCode
in class java.lang.Object
public Attributes clone()
clone
in class java.lang.Object
private static java.lang.String dataKey(java.lang.String key)