diff options
| author | Michael Williamson <mike@zwobble.org> | 2021-08-01 11:17:17 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2021-08-01 11:17:17 +0100 |
| commit | 3287e71ce896193eaf2bba8e6da9bf1827587ab3 (patch) | |
| tree | 107ee1e381ade725cc517532778c08a229597c53 /src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java | |
| parent | 557ea3126459943147e17267b7af23680dd128f8 (diff) | |
Extract RawText class
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java | 37 |
1 files changed, 5 insertions, 32 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java b/src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java index 2c108f2..8ff1e95 100644 --- a/src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java +++ b/src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java @@ -1,15 +1,12 @@ package org.zwobble.mammoth.internal; -import org.zwobble.mammoth.internal.conversion.DocumentToHtml; -import org.zwobble.mammoth.internal.conversion.DocumentToHtmlOptions; -import org.zwobble.mammoth.internal.documents.DocumentElement; -import org.zwobble.mammoth.internal.documents.HasChildren; -import org.zwobble.mammoth.internal.documents.Paragraph; -import org.zwobble.mammoth.internal.documents.Text; import org.zwobble.mammoth.internal.archives.Archive; -import org.zwobble.mammoth.internal.docx.EmbeddedStyleMap; import org.zwobble.mammoth.internal.archives.InMemoryArchive; import org.zwobble.mammoth.internal.archives.ZippedArchive; +import org.zwobble.mammoth.internal.conversion.DocumentToHtml; +import org.zwobble.mammoth.internal.conversion.DocumentToHtmlOptions; +import org.zwobble.mammoth.internal.conversion.RawText; +import org.zwobble.mammoth.internal.docx.EmbeddedStyleMap; import org.zwobble.mammoth.internal.html.Html; import org.zwobble.mammoth.internal.results.InternalResult; import org.zwobble.mammoth.internal.styles.StyleMap; @@ -20,14 +17,10 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.nio.file.Path; -import java.util.List; import java.util.Optional; import java.util.function.Function; import static org.zwobble.mammoth.internal.docx.DocumentReader.readDocument; -import static org.zwobble.mammoth.internal.util.Casts.tryCast; -import static org.zwobble.mammoth.internal.util.Iterables.lazyMap; -import static org.zwobble.mammoth.internal.util.Lists.list; public class InternalDocumentConverter { private final DocumentToHtmlOptions options; @@ -77,7 +70,7 @@ public class InternalDocumentConverter { private InternalResult<String> extractRawText(Optional<Path> path, Archive zipFile) { return readDocument(path, zipFile) - .map(InternalDocumentConverter::extractRawTextOfChildren); + .map(RawText::extractRawText); } private static <T> T withDocxFile(File file, Function<Archive, T> function) throws IOException { @@ -91,24 +84,4 @@ public class InternalDocumentConverter { return function.apply(zipFile); } } - - private static String extractRawTextOfChildren(HasChildren parent) { - return extractRawText(parent.getChildren()); - } - - private static String extractRawText(List<DocumentElement> nodes) { - return String.join("", lazyMap(nodes, node -> extractRawText(node))); - } - - private 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; - }); - } } |
