package org.zwobble.mammoth.styles; import org.zwobble.mammoth.html.HtmlElement; import org.zwobble.mammoth.html.HtmlNode; import java.util.List; import java.util.Map; import static org.zwobble.mammoth.util.MammothLists.list; import static org.zwobble.mammoth.util.MammothMaps.map; public class HtmlPathElement { public static HtmlPathElement fresh(String tagName) { return new HtmlPathElement(list(tagName), map(), false); } public static HtmlPathElement collapsible(String tagName) { return collapsible(tagName, map()); } public static HtmlPathElement collapsible(String tagName, Map attributes) { return new HtmlPathElement(list(tagName), attributes, true); } private final List tagNames; private final Map attributes; private final boolean isCollapsible; public HtmlPathElement(List tagNames, Map attributes, boolean isCollapsible) { this.tagNames = tagNames; this.attributes = attributes; this.isCollapsible = isCollapsible; } public List wrap(List nodes) { return list(new HtmlElement(tagNames, attributes, nodes, isCollapsible)); } }