diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/util/MammothIterables.java | 9 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java | 6 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/util/MammothIterables.java b/src/main/java/org/zwobble/mammoth/internal/util/MammothIterables.java index 0280ac9..b9fd029 100644 --- a/src/main/java/org/zwobble/mammoth/internal/util/MammothIterables.java +++ b/src/main/java/org/zwobble/mammoth/internal/util/MammothIterables.java @@ -30,6 +30,15 @@ public class MammothIterables { }; } + public static <T> T getFirst(Iterable<? extends T> iterable, T defaultValue) { + Iterator<? extends T> iterator = iterable.iterator(); + if (iterator.hasNext()) { + return iterator.next(); + } else { + return defaultValue; + } + } + private static <T, R> Iterator<R> map(Iterator<T> iterator, Function<T, R> function) { return new Iterator<R>() { @Override diff --git a/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java b/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java index 105d348..f8a94f2 100644 --- a/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java +++ b/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java @@ -6,7 +6,9 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import static com.google.common.collect.Iterables.*; +import static com.google.common.collect.Iterables.filter; +import static org.zwobble.mammoth.internal.util.MammothIterables.getFirst; +import static org.zwobble.mammoth.internal.util.MammothIterables.lazyMap; import static org.zwobble.mammoth.internal.util.MammothMaps.lookup; public class XmlElement implements XmlNode, XmlElementLike { @@ -44,7 +46,7 @@ public class XmlElement implements XmlNode, XmlElementLike { @Override public String innerText() { - return String.join("", transform(children, XmlNode::innerText)); + return String.join("", lazyMap(children, XmlNode::innerText)); } @Override |
