diff --git a/src/main/java/ezvcard/io/html/HCardElement.java b/src/main/java/ezvcard/io/html/HCardElement.java
index 15271a13..475e0b14 100644
--- a/src/main/java/ezvcard/io/html/HCardElement.java
+++ b/src/main/java/ezvcard/io/html/HCardElement.java
@@ -2,9 +2,9 @@
import static ezvcard.util.StringUtils.NEWLINE;
-import java.util.ArrayList;
import java.util.List;
import java.util.Set;
+import java.util.stream.Collectors;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.Node;
@@ -80,11 +80,13 @@ public String attr(String name) {
* @return the absolute URL or empty string if it doesn't exist
*/
public String absUrl(String name) {
- String url = element.absUrl(name); //returns empty string for some protocols like "tel:" and "data:", but not for "http:" or "mailto:"
- if (url.isEmpty()) {
- url = element.attr(name);
- }
- return url;
+ /*
+ * Returns empty string for some protocols like "tel:" and "data:", but
+ * not for "http:" or "mailto:"
+ */
+ String url = element.absUrl(name);
+
+ return url.isEmpty() ? element.attr(name) : url;
}
/**
@@ -132,12 +134,11 @@ public String firstValue(String cssClass) {
* @return the hCard values
*/
public List allValues(String cssClass) {
- Elements elements = element.getElementsByClass(cssClass);
- List values = new ArrayList<>(elements.size());
- for (Element element : elements) {
- values.add(value(element));
- }
- return values;
+ //@formatter:off
+ return element.getElementsByClass(cssClass).stream()
+ .map(this::value)
+ .collect(Collectors.toList());
+ //@formatter:on
}
/**
@@ -145,12 +146,11 @@ public List allValues(String cssClass) {
* @return the type values (in lower-case)
*/
public List types() {
- List types = allValues("type");
- List lowerCaseTypes = new ArrayList<>(types.size());
- for (String type : types) {
- lowerCaseTypes.add(type.toLowerCase());
- }
- return lowerCaseTypes;
+ //@formatter:off
+ return allValues("type").stream()
+ .map(String::toLowerCase)
+ .collect(Collectors.toList());
+ //@formatter:on
}
/**
@@ -159,7 +159,7 @@ public List types() {
*/
public void append(String text) {
boolean first = true;
- String lines[] = text.split("\\r\\n|\\n|\\r");
+ String[] lines = text.split("\\r\\n|\\n|\\r");
for (String line : lines) {
if (!first) {
//replace newlines with "
" tags