aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-08-28 23:15:19 +0100
committerMichael Williamson <mike@zwobble.org>2016-08-28 23:15:19 +0100
commita55bb3b713dd4f38e95b98acbf284dc22077f7eb (patch)
treede7bc9308be5a05830bf7e54a17f268040d6c26f /src/main
parent93e92326208e3a374c170beeb323578fedf0d337 (diff)
Add comment reference document matcher
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java9
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/styles/parsing/DocumentMatcherParser.java2
3 files changed, 14 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
index 81dfe80..eb810aa 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
@@ -21,6 +21,7 @@ public class StyleMap {
private final Optional<HtmlPath> italic;
private final Optional<HtmlPath> underline;
private final Optional<HtmlPath> strikethrough;
+ private final Optional<HtmlPath> commentReference;
private final List<StyleMapping<Paragraph>> paragraphStyles;
private final List<StyleMapping<Run>> runStyles;
@@ -29,6 +30,7 @@ public class StyleMap {
Optional<HtmlPath> italic,
Optional<HtmlPath> underline,
Optional<HtmlPath> strikethrough,
+ Optional<HtmlPath> commentReference,
List<StyleMapping<Paragraph>> paragraphStyles,
List<StyleMapping<Run>> runStyles)
{
@@ -36,6 +38,7 @@ public class StyleMap {
this.italic = italic;
this.underline = underline;
this.strikethrough = strikethrough;
+ this.commentReference = commentReference;
this.paragraphStyles = paragraphStyles;
this.runStyles = runStyles;
}
@@ -47,6 +50,7 @@ public class StyleMap {
Optionals.first(styleMap.italic, italic),
Optionals.first(styleMap.underline, underline),
Optionals.first(styleMap.strikethrough, strikethrough),
+ Optionals.first(styleMap.commentReference, commentReference),
Lists.eagerConcat(styleMap.paragraphStyles, paragraphStyles),
Lists.eagerConcat(styleMap.runStyles, runStyles));
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
index 9935417..e834715 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
@@ -12,6 +12,7 @@ public class StyleMapBuilder {
private Optional<HtmlPath> strikethrough;
private Optional<HtmlPath> bold;
private Optional<HtmlPath> italic;
+ private Optional<HtmlPath> commentReference;
private final List<StyleMapping<Paragraph>> paragraphStyles = new ArrayList<>();
private final List<StyleMapping<Run>> runStyles = new ArrayList<>();
@@ -20,6 +21,7 @@ public class StyleMapBuilder {
this.underline = Optional.empty();
this.strikethrough = Optional.empty();
this.italic = Optional.empty();
+ this.commentReference = Optional.empty();
}
public StyleMapBuilder bold(HtmlPath path) {
@@ -42,6 +44,11 @@ public class StyleMapBuilder {
return this;
}
+ public StyleMapBuilder commentReference(HtmlPath path) {
+ this.commentReference = Optional.of(path);
+ return this;
+ }
+
public StyleMapBuilder mapParagraph(ParagraphMatcher matcher, HtmlPath path) {
paragraphStyles.add(new StyleMapping<>(matcher, path));
return this;
@@ -53,6 +60,6 @@ public class StyleMapBuilder {
}
public StyleMap build() {
- return new StyleMap(bold, italic, underline, strikethrough, paragraphStyles, runStyles);
+ return new StyleMap(bold, italic, underline, strikethrough, commentReference, paragraphStyles, runStyles);
}
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/DocumentMatcherParser.java b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/DocumentMatcherParser.java
index 90b9ba0..e7de55c 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/DocumentMatcherParser.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/DocumentMatcherParser.java
@@ -28,6 +28,8 @@ public class DocumentMatcherParser {
return StyleMapBuilder::underline;
case "strike":
return StyleMapBuilder::strikethrough;
+ case "comment-reference":
+ return StyleMapBuilder::commentReference;
default:
throw new LineParseException(identifier, "Unrecognised document element: " + identifier);
}