aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/html/HtmlWriter.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-24 08:16:16 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-24 08:16:16 +0000
commit3e2786a004eddf968a5fa7d5a92dff5b1b5f7734 (patch)
tree7fa1bcc1e484cd0ef782f64baf504ee83333d397 /src/main/java/org/zwobble/mammoth/html/HtmlWriter.java
parent0dc3a12affc2e46c1a0df2899cf51a1ae3fdbd61 (diff)
Create internal package
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/html/HtmlWriter.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/html/HtmlWriter.java62
1 files changed, 0 insertions, 62 deletions
diff --git a/src/main/java/org/zwobble/mammoth/html/HtmlWriter.java b/src/main/java/org/zwobble/mammoth/html/HtmlWriter.java
deleted file mode 100644
index 4174918..0000000
--- a/src/main/java/org/zwobble/mammoth/html/HtmlWriter.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.zwobble.mammoth.html;
-
-import java.util.Map;
-
-import static org.zwobble.mammoth.util.MammothLists.orderedBy;
-
-public class HtmlWriter {
- public static void write(HtmlNode node, StringBuilder builder) {
- node.visit(new HtmlNode.Visitor() {
- @Override
- public void visit(HtmlElement element) {
- builder.append("<").append(element.getTagName());
-
- HtmlWriter.generateAttributes(element.getAttributes(), builder);
-
- builder.append(">");
-
- element.getChildren().forEach(node -> write(node, builder));
-
- builder
- .append("</")
- .append(element.getTagName())
- .append(">");
- }
-
- @Override
- public void visit(HtmlSelfClosingElement element) {
- builder.append("<").append(element.getTagName());
- HtmlWriter.generateAttributes(element.getAttributes(), builder);
- builder.append(" />");
- }
-
- @Override
- public void visit(HtmlTextNode node) {
- builder.append(HtmlWriter.escapeText(node.getValue()));
- }
-
- @Override
- public void visit(HtmlForceWrite forceWrite) {
- }
- });
- }
-
- private static void generateAttributes(Map<String, String> attributes, StringBuilder builder) {
- for (Map.Entry<String, String> attribute : orderedBy(attributes.entrySet(), Map.Entry::getKey)) {
- builder
- .append(" ")
- .append(attribute.getKey())
- .append("=\"")
- .append(HtmlWriter.escapeAttributeValue(attribute.getValue()))
- .append("\"");
- }
- }
-
- private static String escapeText(String text) {
- return text.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;");
- }
-
- private static String escapeAttributeValue(String value) {
- return escapeText(value).replace("\"", "&quot;");
- }
-}