diff options
Diffstat (limited to 'server/src/org/jsoup/nodes/Attribute.java')
-rw-r--r-- | server/src/org/jsoup/nodes/Attribute.java | 110 |
1 files changed, 73 insertions, 37 deletions
diff --git a/server/src/org/jsoup/nodes/Attribute.java b/server/src/org/jsoup/nodes/Attribute.java index 02eb29db83..5f27b4fcc4 100644 --- a/server/src/org/jsoup/nodes/Attribute.java +++ b/server/src/org/jsoup/nodes/Attribute.java @@ -1,21 +1,26 @@ package org.jsoup.nodes; -import org.jsoup.helper.Validate; - import java.util.Map; -/** - A single key + value attribute. Keys are trimmed and normalised to lower-case. +import org.jsoup.helper.Validate; - @author Jonathan Hedley, jonathan@hedley.net */ -public class Attribute implements Map.Entry<String, String>, Cloneable { +/** + * A single key + value attribute. Keys are trimmed and normalised to + * lower-case. + * + * @author Jonathan Hedley, jonathan@hedley.net + */ +public class Attribute implements Map.Entry<String, String>, Cloneable { private String key; private String value; /** * Create a new attribute from unencoded (raw) key and value. - * @param key attribute key - * @param value attribute value + * + * @param key + * attribute key + * @param value + * attribute value * @see #createFromEncoded */ public Attribute(String key, String value) { @@ -26,16 +31,20 @@ public class Attribute implements Map.Entry<String, String>, Cloneable { } /** - Get the attribute key. - @return the attribute key + * Get the attribute key. + * + * @return the attribute key */ + @Override public String getKey() { return key; } /** - Set the attribute key. Gets normalised as per the constructor method. - @param key the new key; must not be null + * Set the attribute key. Gets normalised as per the constructor method. + * + * @param key + * the new key; must not be null */ public void setKey(String key) { Validate.notEmpty(key); @@ -43,17 +52,22 @@ public class Attribute implements Map.Entry<String, String>, Cloneable { } /** - Get the attribute value. - @return the attribute value + * Get the attribute value. + * + * @return the attribute value */ + @Override public String getValue() { return value; } /** - Set the attribute value. - @param value the new attribute value; must not be null + * Set the attribute value. + * + * @param value + * the new attribute value; must not be null */ + @Override public String setValue(String value) { Validate.notNull(value); String old = this.value; @@ -62,53 +76,73 @@ public class Attribute implements Map.Entry<String, String>, Cloneable { } /** - Get the HTML representation of this attribute; e.g. {@code href="index.html"}. - @return HTML + * Get the HTML representation of this attribute; e.g. + * {@code href="index.html"}. + * + * @return HTML */ public String html() { - return key + "=\"" + Entities.escape(value, (new Document("")).outputSettings()) + "\""; + return key + "=\"" + + Entities.escape(value, (new Document("")).outputSettings()) + + "\""; } - + protected void html(StringBuilder accum, Document.OutputSettings out) { - accum - .append(key) - .append("=\"") - .append(Entities.escape(value, out)) - .append("\""); + accum.append(key).append("=\"").append(Entities.escape(value, out)) + .append("\""); } /** - Get the string representation of this attribute, implemented as {@link #html()}. - @return string + * Get the string representation of this attribute, implemented as + * {@link #html()}. + * + * @return string */ + @Override public String toString() { return html(); } /** - * Create a new Attribute from an unencoded key and a HTML attribute encoded value. - * @param unencodedKey assumes the key is not encoded, as can be only run of simple \w chars. - * @param encodedValue HTML attribute encoded value + * Create a new Attribute from an unencoded key and a HTML attribute encoded + * value. + * + * @param unencodedKey + * assumes the key is not encoded, as can be only run of simple + * \w chars. + * @param encodedValue + * HTML attribute encoded value * @return attribute */ - public static Attribute createFromEncoded(String unencodedKey, String encodedValue) { + public static Attribute createFromEncoded(String unencodedKey, + String encodedValue) { String value = Entities.unescape(encodedValue, true); return new Attribute(unencodedKey, value); } protected boolean isDataAttribute() { - return key.startsWith(Attributes.dataPrefix) && key.length() > Attributes.dataPrefix.length(); + return key.startsWith(Attributes.dataPrefix) + && key.length() > Attributes.dataPrefix.length(); } @Override public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof Attribute)) return false; + if (this == o) { + return true; + } + if (!(o instanceof Attribute)) { + return false; + } Attribute attribute = (Attribute) o; - if (key != null ? !key.equals(attribute.key) : attribute.key != null) return false; - if (value != null ? !value.equals(attribute.value) : attribute.value != null) return false; + if (key != null ? !key.equals(attribute.key) : attribute.key != null) { + return false; + } + if (value != null ? !value.equals(attribute.value) + : attribute.value != null) { + return false; + } return true; } @@ -123,7 +157,9 @@ public class Attribute implements Map.Entry<String, String>, Cloneable { @Override public Attribute clone() { try { - return (Attribute) super.clone(); // only fields are immutable strings key and value, so no more deep copy required + return (Attribute) super.clone(); // only fields are immutable + // strings key and value, so no + // more deep copy required } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } |