diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/conversion/RawText.java | 20 |
1 files changed, 11 insertions, 9 deletions
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 0834874..5bfeb83 100644 --- a/src/main/java/org/zwobble/mammoth/internal/conversion/RawText.java +++ b/src/main/java/org/zwobble/mammoth/internal/conversion/RawText.java @@ -22,14 +22,16 @@ public class RawText { } public static String extractRawText(DocumentElement node) { - return tryCast(Text.class, node) - .map(Text::getValue) - .orElseGet(() -> { - 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; - }); + if (node instanceof Text) { + return ((Text) node).getValue(); + } else if (node instanceof Tab) { + return "\t"; + } else { + 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; + } } } |
