From 93e92326208e3a374c170beeb323578fedf0d337 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 28 Aug 2016 23:11:57 +0100 Subject: Defer generation of child nodes until necessary --- .../java/org/zwobble/mammoth/internal/styles/HtmlPathElement.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/main/java/org/zwobble/mammoth/internal/styles/HtmlPathElement.java') diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/HtmlPathElement.java b/src/main/java/org/zwobble/mammoth/internal/styles/HtmlPathElement.java index 08221eb..4c4ff98 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/HtmlPathElement.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/HtmlPathElement.java @@ -5,6 +5,7 @@ import org.zwobble.mammoth.internal.html.HtmlNode; import java.util.List; import java.util.Map; +import java.util.function.Supplier; import static org.zwobble.mammoth.internal.util.Lists.list; import static org.zwobble.mammoth.internal.util.Maps.map; @@ -32,7 +33,11 @@ public class HtmlPathElement { this.isCollapsible = isCollapsible; } - public List wrap(List nodes) { + public Supplier> wrap(Supplier> generateNodes) { + return () -> wrapNodes(generateNodes.get()); + } + + private List wrapNodes(List nodes) { return list(new HtmlElement(tagNames, attributes, nodes, isCollapsible)); } } -- cgit v1.2.3