diff --git a/src/main/java/io/github/robwin/markup/builder/AbstractMarkupDocBuilder.java b/src/main/java/io/github/robwin/markup/builder/AbstractMarkupDocBuilder.java index bc4950c9..22a91fc2 100644 --- a/src/main/java/io/github/robwin/markup/builder/AbstractMarkupDocBuilder.java +++ b/src/main/java/io/github/robwin/markup/builder/AbstractMarkupDocBuilder.java @@ -18,6 +18,7 @@ */ package io.github.robwin.markup.builder; +import io.github.robwin.markup.builder.asciidoc.AsciiDoc; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -95,7 +96,14 @@ public abstract class AbstractMarkupDocBuilder implements MarkupDocBuilder { @Override public MarkupDocBuilder textLine(String text){ - documentBuilder.append(text).append(newLine); + text(text); + newLine(); + return this; + } + + @Override + public MarkupDocBuilder text(String text){ + documentBuilder.append(text); return this; } @@ -104,27 +112,41 @@ public abstract class AbstractMarkupDocBuilder implements MarkupDocBuilder { } protected void listing(Markup markup, String text){ - delimitedTextLine(markup, text); + delimitedBlockText(markup, text); } - protected void delimitedTextLine(Markup markup, String text){ + protected void delimitedBlockText(Markup markup, String text){ documentBuilder.append(markup).append(newLine).append(text).append(newLine).append(markup).append(newLine).append(newLine); } - protected void delimitedTextLineWithoutLineBreaks(Markup markup, String text){ - documentBuilder.append(markup).append(text).append(markup).append(newLine); + protected void delimitedTextWithoutLineBreaks(Markup markup, String text){ + documentBuilder.append(markup).append(text).append(markup); } protected void preserveLineBreaks(Markup markup){ documentBuilder.append(markup).append(newLine); } - protected void boldTextLine(Markup markup, String text){ - delimitedTextLineWithoutLineBreaks(markup, text); + protected void boldText(Markup markup, String text){ + delimitedTextWithoutLineBreaks(markup, text); } - protected void italicTextLine(Markup markup, String text){ - delimitedTextLineWithoutLineBreaks(markup, text); + @Override + public MarkupDocBuilder boldTextLine(String text){ + boldText(text); + newLine(); + return this; + } + + protected void italicText(Markup markup, String text){ + delimitedTextWithoutLineBreaks(markup, text); + } + + @Override + public MarkupDocBuilder italicTextLine(String text) { + italicText(text); + newLine(); + return this; } protected void unorderedList(Markup markup, List list){ @@ -139,12 +161,6 @@ public abstract class AbstractMarkupDocBuilder implements MarkupDocBuilder { documentBuilder.append(markup).append(item).append(newLine); } - @Override - public MarkupDocBuilder anchor(String anchor, String text) { - documentBuilder.append(anchorAsString(anchor, text)); - return this; - } - @Override public MarkupDocBuilder anchor(String anchor) { return anchor(anchor, null); @@ -176,11 +192,6 @@ public abstract class AbstractMarkupDocBuilder implements MarkupDocBuilder { return normalizedAnchor; } - @Override - public MarkupDocBuilder crossReferenceRaw(String document, String anchor, String text) { - documentBuilder.append(crossReferenceRawAsString(document, anchor, text)); - return this; - } @Override public MarkupDocBuilder crossReferenceRaw(String anchor, String text) { @@ -192,12 +203,6 @@ public abstract class AbstractMarkupDocBuilder implements MarkupDocBuilder { return crossReferenceRaw(null, anchor, null); } - @Override - public MarkupDocBuilder crossReference(String document, String title, String text) { - documentBuilder.append(crossReferenceAsString(document, title, text)); - return this; - } - @Override public MarkupDocBuilder crossReference(String title, String text) { return crossReference(null, title, text); diff --git a/src/main/java/io/github/robwin/markup/builder/MarkupDocBuilder.java b/src/main/java/io/github/robwin/markup/builder/MarkupDocBuilder.java index c18504fa..09724e35 100644 --- a/src/main/java/io/github/robwin/markup/builder/MarkupDocBuilder.java +++ b/src/main/java/io/github/robwin/markup/builder/MarkupDocBuilder.java @@ -47,6 +47,8 @@ public interface MarkupDocBuilder { MarkupDocBuilder textLine(String text); + MarkupDocBuilder text(String text); + MarkupDocBuilder paragraph(String text); MarkupDocBuilder listing(String text); @@ -55,8 +57,12 @@ public interface MarkupDocBuilder { MarkupDocBuilder boldTextLine(String text); + MarkupDocBuilder boldText(String text); + MarkupDocBuilder italicTextLine(String text); + MarkupDocBuilder italicText(String text); + MarkupDocBuilder unorderedList(List list); MarkupDocBuilder unorderedListItem(String item); @@ -72,24 +78,18 @@ public interface MarkupDocBuilder { MarkupDocBuilder anchor(String anchor); - String anchorAsString(String anchor, String text); - MarkupDocBuilder crossReferenceRaw(String document, String anchor, String text); MarkupDocBuilder crossReferenceRaw(String anchor, String text); MarkupDocBuilder crossReferenceRaw(String anchor); - String crossReferenceRawAsString(String document, String anchor, String text); - MarkupDocBuilder crossReference(String document, String title, String text); MarkupDocBuilder crossReference(String title, String text); MarkupDocBuilder crossReference(String title); - String crossReferenceAsString(String document, String title, String text); - MarkupDocBuilder newLine(); /** diff --git a/src/main/java/io/github/robwin/markup/builder/asciidoc/AsciiDocBuilder.java b/src/main/java/io/github/robwin/markup/builder/asciidoc/AsciiDocBuilder.java index 2b9500ed..e846742e 100644 --- a/src/main/java/io/github/robwin/markup/builder/asciidoc/AsciiDocBuilder.java +++ b/src/main/java/io/github/robwin/markup/builder/asciidoc/AsciiDocBuilder.java @@ -81,14 +81,14 @@ public class AsciiDocBuilder extends AbstractMarkupDocBuilder { } @Override - public MarkupDocBuilder boldTextLine(String text){ - boldTextLine(AsciiDoc.BOLD, text); + public MarkupDocBuilder boldText(String text){ + boldText(AsciiDoc.BOLD, text); return this; } @Override - public MarkupDocBuilder italicTextLine(String text) { - italicTextLine(AsciiDoc.ITALIC, text); + public MarkupDocBuilder italicText(String text) { + italicText(AsciiDoc.ITALIC, text); return this; } @@ -143,30 +143,29 @@ public class AsciiDocBuilder extends AbstractMarkupDocBuilder { } @Override - public String anchorAsString(String anchor, String text) { - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append(AsciiDoc.ANCHOR_START).append(normalizeAnchor(anchor)); + public MarkupDocBuilder anchor(String anchor, String text) { + documentBuilder.append(AsciiDoc.ANCHOR_START).append(normalizeAnchor(anchor)); if (text != null) - stringBuilder.append(",").append(text); - stringBuilder.append(AsciiDoc.ANCHOR_END); - return stringBuilder.toString(); + documentBuilder.append(",").append(text); + documentBuilder.append(AsciiDoc.ANCHOR_END); + return this; } @Override - public String crossReferenceRawAsString(String document, String anchor, String text) { - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append(AsciiDoc.CROSS_REFERENCE_START); + public MarkupDocBuilder crossReferenceRaw(String document, String anchor, String text) { + documentBuilder.append(AsciiDoc.CROSS_REFERENCE_START); if (document != null) - stringBuilder.append(document).append("#"); - stringBuilder.append(anchor); + documentBuilder.append(document).append("#"); + documentBuilder.append(anchor); if (text != null) - stringBuilder.append(",").append(text); - stringBuilder.append(AsciiDoc.CROSS_REFERENCE_END); - return stringBuilder.toString(); } + documentBuilder.append(",").append(text); + documentBuilder.append(AsciiDoc.CROSS_REFERENCE_END); + return this; + } @Override - public String crossReferenceAsString(String document, String title, String text) { - return crossReferenceRawAsString(normalizeDocument(document), normalizeAnchor(title), text); + public MarkupDocBuilder crossReference(String document, String title, String text) { + return crossReferenceRaw(normalizeDocument(document), normalizeAnchor(title), text); } private String escapeTableCell(String cell) { diff --git a/src/main/java/io/github/robwin/markup/builder/markdown/MarkdownBuilder.java b/src/main/java/io/github/robwin/markup/builder/markdown/MarkdownBuilder.java index 25e76990..95b23f89 100644 --- a/src/main/java/io/github/robwin/markup/builder/markdown/MarkdownBuilder.java +++ b/src/main/java/io/github/robwin/markup/builder/markdown/MarkdownBuilder.java @@ -89,14 +89,14 @@ public class MarkdownBuilder extends AbstractMarkupDocBuilder } @Override - public MarkupDocBuilder boldTextLine(String text){ - boldTextLine(Markdown.BOLD, text); + public MarkupDocBuilder boldText(String text){ + boldText(Markdown.BOLD, text); return this; } @Override - public MarkupDocBuilder italicTextLine(String text) { - italicTextLine(Markdown.ITALIC, text); + public MarkupDocBuilder italicText(String text) { + italicText(Markdown.ITALIC, text); return this; } @@ -150,27 +150,25 @@ public class MarkdownBuilder extends AbstractMarkupDocBuilder } @Override - public String anchorAsString(String anchor, String text) { - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append(""); - return stringBuilder.toString(); + public MarkupDocBuilder anchor(String anchor, String text) { + documentBuilder.append(""); + return this; } @Override - public String crossReferenceRawAsString(String document, String anchor, String text) { - StringBuilder stringBuilder = new StringBuilder(); + public MarkupDocBuilder crossReferenceRaw(String document, String anchor, String text) { if (text == null) text = anchor.trim(); - stringBuilder.append("[").append(text).append("]").append("("); + documentBuilder.append("[").append(text).append("]").append("("); if (document != null) - stringBuilder.append(document); - stringBuilder.append("#").append(anchor).append(")"); - return stringBuilder.toString(); + documentBuilder.append(document); + documentBuilder.append("#").append(anchor).append(")"); + return this; } @Override - public String crossReferenceAsString(String document, String title, String text) { - return crossReferenceRawAsString(document, normalizeAnchor(title), text); + public MarkupDocBuilder crossReference(String document, String title, String text) { + return crossReferenceRaw(document, normalizeAnchor(title), text); } private String escapeTableCell(String cell) { diff --git a/src/test/java/io/github/robwin/markup/builder/MarkupDocBuilderTest.java b/src/test/java/io/github/robwin/markup/builder/MarkupDocBuilderTest.java index 4e935ffa..b6f29ecb 100644 --- a/src/test/java/io/github/robwin/markup/builder/MarkupDocBuilderTest.java +++ b/src/test/java/io/github/robwin/markup/builder/MarkupDocBuilderTest.java @@ -73,6 +73,7 @@ public class MarkupDocBuilderTest { .textLine("text line b") .boldTextLine("Bold text line b") .italicTextLine("Italic text line b") + .boldText("bold").italicText("italic").text("regular").newLine() .unorderedList(Arrays.asList("Entry1", "Entry2", "Entry 2")) .anchor("anchor", "text").newLine() .anchor(" Simple anchor").newLine() @@ -103,6 +104,7 @@ public class MarkupDocBuilderTest { .textLine("text line b") .boldTextLine("Bold text line b") .italicTextLine("Italic text line b") + .boldText("bold").italicText("italic").text("regular").newLine() .unorderedList(Arrays.asList("Entry1", "Entry2", "Entry 2")) .anchor("anchor", "text").newLine() .anchor(" Simple anchor").newLine()