diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-11-16 20:45:00 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-11-16 20:45:00 +0000 |
| commit | 250c8850c4f7e0b2db5146683392fc20485b9339 (patch) | |
| tree | 728a8067331b6f984fab7f9b1cb7cec5a493e7f3 /src/main/java/org/zwobble/mammoth/internal/styles | |
| parent | ed66bfe54f283cbf27bed4d5b4bddf0c1bdf4808 (diff) | |
Introduce HtmlTag class
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/styles')
3 files changed, 12 insertions, 21 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/HtmlPath.java b/src/main/java/org/zwobble/mammoth/internal/styles/HtmlPath.java index 0a5c300..64afaf4 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/HtmlPath.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/HtmlPath.java @@ -1,6 +1,7 @@ package org.zwobble.mammoth.internal.styles; import org.zwobble.mammoth.internal.html.HtmlNode; +import org.zwobble.mammoth.internal.html.HtmlTag; import java.util.List; import java.util.Map; @@ -23,7 +24,8 @@ public interface HtmlPath { } static HtmlPath element(String tagName, Map<String, String> attributes) { - return new HtmlPathElements(list(new HtmlPathElement(list(tagName), attributes, false, ""))); + HtmlTag tag = new HtmlTag(list(tagName), attributes, false, ""); + return new HtmlPathElements(list(new HtmlPathElement(tag))); } static HtmlPath collapsibleElement(String tagName) { @@ -39,7 +41,8 @@ public interface HtmlPath { } static HtmlPath collapsibleElement(List<String> tagNames, Map<String, String> attributes) { - return new HtmlPathElements(list(new HtmlPathElement(tagNames, attributes, true, ""))); + HtmlTag tag = new HtmlTag(tagNames, attributes, true, ""); + return new HtmlPathElements(list(new HtmlPathElement(tag))); } Supplier<List<HtmlNode>> wrap(Supplier<List<HtmlNode>> generateNodes); 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 1be14af..dc9a60e 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/HtmlPathElement.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/HtmlPathElement.java @@ -2,6 +2,7 @@ package org.zwobble.mammoth.internal.styles; import org.zwobble.mammoth.internal.html.HtmlElement; import org.zwobble.mammoth.internal.html.HtmlNode; +import org.zwobble.mammoth.internal.html.HtmlTag; import java.util.List; import java.util.Map; @@ -11,24 +12,10 @@ import static org.zwobble.mammoth.internal.util.Lists.list; import static org.zwobble.mammoth.internal.util.Maps.map; public class HtmlPathElement { - public static HtmlPathElement collapsible(String tagName) { - return collapsible(tagName, map()); - } - - public static HtmlPathElement collapsible(String tagName, Map<String, String> attributes) { - return new HtmlPathElement(list(tagName), attributes, true, ""); - } - - private final List<String> tagNames; - private final Map<String, String> attributes; - private final boolean isCollapsible; - private final String separator; + private final HtmlTag tag; - public HtmlPathElement(List<String> tagNames, Map<String, String> attributes, boolean isCollapsible, String separator) { - this.tagNames = tagNames; - this.attributes = attributes; - this.isCollapsible = isCollapsible; - this.separator = separator; + public HtmlPathElement(HtmlTag tag) { + this.tag = tag; } public Supplier<List<HtmlNode>> wrap(Supplier<List<HtmlNode>> generateNodes) { @@ -36,6 +23,6 @@ public class HtmlPathElement { } private List<HtmlNode> wrapNodes(List<HtmlNode> nodes) { - return list(new HtmlElement(tagNames, attributes, nodes, isCollapsible)); + return list(new HtmlElement(tag, nodes)); } } diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/HtmlPathParser.java b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/HtmlPathParser.java index a509bbb..ef975f6 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/HtmlPathParser.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/HtmlPathParser.java @@ -1,5 +1,6 @@ package org.zwobble.mammoth.internal.styles.parsing; +import org.zwobble.mammoth.internal.html.HtmlTag; import org.zwobble.mammoth.internal.styles.HtmlPath; import org.zwobble.mammoth.internal.styles.HtmlPathElement; import org.zwobble.mammoth.internal.styles.HtmlPathElements; @@ -45,7 +46,7 @@ public class HtmlPathParser { : map("class", String.join(" ", classNames)); boolean isFresh = parseIsFresh(tokens); String separator = parseSeparator(tokens); - return new HtmlPathElement(tagNames, attributes, !isFresh, separator); + return new HtmlPathElement(new HtmlTag(tagNames, attributes, !isFresh, separator)); } private static List<String> parseTagNames(TokenIterator<TokenType> tokens) { |
