aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/conversion
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/conversion')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java35
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/conversion/RawText.java6
2 files changed, 21 insertions, 20 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java
index 6186cdb..dbbe3c3 100644
--- a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java
+++ b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java
@@ -81,22 +81,6 @@ public class DocumentToHtml {
this.comments = Maps.toMapWithKey(comments, Comment::getCommentId);
}
- private List<HtmlNode> convertToHtml(Document document, Context context) {
- List<HtmlNode> mainBody = convertChildrenToHtml(document, context);
- // TODO: can you have note references inside a note?
- List<Note> notes = findNotes(document, noteReferences);
-
- List<HtmlNode> noteNodes = notes.isEmpty()
- ? list()
- : list(Html.element("ol", eagerMap(notes, note -> convertToHtml(note, context))));
-
- List<HtmlNode> commentNodes = referencedComments.isEmpty()
- ? list()
- : list(Html.element("dl", eagerFlatMap(referencedComments, comment -> convertToHtml(comment, context))));
-
- return eagerConcat(mainBody, noteNodes, commentNodes);
- }
-
private HtmlNode convertToHtml(Note note, Context context) {
String id = generateNoteHtmlId(note.getNoteType(), note.getId());
String referenceId = generateNoteRefHtmlId(note.getNoteType(), note.getId());
@@ -135,12 +119,29 @@ public class DocumentToHtml {
);
}
- private <T> List<HtmlNode> convertChildrenToHtml(HasChildren<T> element, Context context) {
+ private <T> List<HtmlNode> convertChildrenToHtml(HasChildren element, Context context) {
return convertToHtml(element.getChildren(), context);
}
private class ElementConverterVisitor implements DocumentElementVisitor<List<HtmlNode>, Context> {
@Override
+ public List<HtmlNode> visit(Document document, Context context) {
+ List<HtmlNode> mainBody = convertChildrenToHtml(document, context);
+ // TODO: can you have note references inside a note?
+ List<Note> notes = findNotes(document, noteReferences);
+
+ List<HtmlNode> noteNodes = notes.isEmpty()
+ ? list()
+ : list(Html.element("ol", eagerMap(notes, note -> convertToHtml(note, context))));
+
+ List<HtmlNode> commentNodes = referencedComments.isEmpty()
+ ? list()
+ : list(Html.element("dl", eagerFlatMap(referencedComments, comment -> convertToHtml(comment, context))));
+
+ return eagerConcat(mainBody, noteNodes, commentNodes);
+ }
+
+ @Override
public List<HtmlNode> visit(Paragraph paragraph, Context context) {
Supplier<List<HtmlNode>> children = () -> {
List<HtmlNode> content = convertChildrenToHtml(paragraph, context);
diff --git a/src/main/java/org/zwobble/mammoth/internal/conversion/RawText.java b/src/main/java/org/zwobble/mammoth/internal/conversion/RawText.java
index e784840..5bfeb83 100644
--- a/src/main/java/org/zwobble/mammoth/internal/conversion/RawText.java
+++ b/src/main/java/org/zwobble/mammoth/internal/conversion/RawText.java
@@ -13,7 +13,7 @@ public class RawText {
return extractRawTextOfChildren(document);
}
- private static <T> String extractRawTextOfChildren(HasChildren<T> parent) {
+ private static String extractRawTextOfChildren(HasChildren parent) {
return extractRawText(parent.getChildren());
}
@@ -27,8 +27,8 @@ public class RawText {
} else if (node instanceof Tab) {
return "\t";
} else {
- List<DocumentElement> children = tryCast(HasGetChildren.class, node)
- .map(HasGetChildren::getChildren)
+ List<DocumentElement> children = tryCast(HasChildren.class, node)
+ .map(HasChildren::getChildren)
.orElse(list());
String suffix = tryCast(Paragraph.class, node).map(paragraph -> "\n\n").orElse("");
return extractRawText(children) + suffix;