This is an automated email from the ASF dual-hosted git repository. michaelo pushed a commit to branch DOXIA-687 in repository https://gitbox.apache.org/repos/asf/maven-doxia.git
commit 3af3b81337e373e3f6a8b2c7cef02d0a0c839963 Author: Michael Osipov <micha...@apache.org> AuthorDate: Fri Jan 13 15:17:59 2023 +0100 [DOXIA-687] Introduce Sink#verbatim(void) method This closes #140 --- .../java/org/apache/maven/doxia/sink/impl/RandomAccessSink.java | 6 ++++++ .../main/java/org/apache/maven/doxia/sink/impl/SinkAdapter.java | 9 ++++++++- .../java/org/apache/maven/doxia/sink/impl/Xhtml5BaseSink.java | 6 ++++++ .../org/apache/maven/doxia/sink/impl/SinkEventTestingSink.java | 5 +++++ .../src/test/java/org/apache/maven/doxia/sink/impl/TextSink.java | 5 +++++ .../apache/maven/doxia/sink/impl/WellformednessCheckingSink.java | 7 ++++++- .../src/main/java/org/apache/maven/doxia/module/apt/AptSink.java | 6 ++++++ .../org/apache/maven/doxia/module/markdown/MarkdownSink.java | 6 ++++++ .../src/main/java/org/apache/maven/doxia/sink/Sink.java | 7 +++++++ 9 files changed, 55 insertions(+), 2 deletions(-) diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/RandomAccessSink.java b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/RandomAccessSink.java index 698d12b6..d16a953b 100644 --- a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/RandomAccessSink.java +++ b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/RandomAccessSink.java @@ -1127,6 +1127,12 @@ public class RandomAccessSink implements Sink { currentSink.unknown(name, requiredParams, attributes); } + /** {@inheritDoc} */ + @Override + public void verbatim() { + currentSink.verbatim(); + } + /** {@inheritDoc} */ @Override public void verbatim(SinkEventAttributes attributes) { diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/SinkAdapter.java b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/SinkAdapter.java index 00741828..eda726f5 100644 --- a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/SinkAdapter.java +++ b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/SinkAdapter.java @@ -718,6 +718,13 @@ public class SinkAdapter extends AbstractSink { public void close() { // nop } + + /** {@inheritDoc} */ + @Override + public void verbatim() { + // nop + } + /** {@inheritDoc} */ @Override public void head(SinkEventAttributes attributes) { @@ -989,7 +996,7 @@ public class SinkAdapter extends AbstractSink { /** {@inheritDoc} */ @Override public void verbatim(SinkEventAttributes attributes) { - // nop + verbatim(); } /** {@inheritDoc} */ diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/Xhtml5BaseSink.java b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/Xhtml5BaseSink.java index 3f73e4cd..48af0dca 100644 --- a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/Xhtml5BaseSink.java +++ b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/Xhtml5BaseSink.java @@ -1121,6 +1121,12 @@ public class Xhtml5BaseSink extends AbstractXmlSink implements HtmlMarkup { writeEndTag(HtmlMarkup.DIV); } + /** {@inheritDoc} */ + @Override + public void verbatim() { + verbatim(null); + } + /** * The default class style for boxed is <code>source</code>. * diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/SinkEventTestingSink.java b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/SinkEventTestingSink.java index 78323c96..74efd98f 100644 --- a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/SinkEventTestingSink.java +++ b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/SinkEventTestingSink.java @@ -822,6 +822,11 @@ public class SinkEventTestingSink extends AbstractSink { addEvent("division", new Object[] {attributes}); } + @Override + public void verbatim() { + addEvent("verbatim"); + } + @Override public void verbatim(SinkEventAttributes attributes) { addEvent("verbatim", new Object[] {attributes}); diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/TextSink.java b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/TextSink.java index 2ff4c0de..127aede6 100644 --- a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/TextSink.java +++ b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/TextSink.java @@ -819,6 +819,11 @@ public class TextSink extends AbstractSink { division(); } + @Override + public void verbatim() { + verbatim(null); + } + @Override public void verbatim(SinkEventAttributes attributes) { boolean boxed = false; diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/WellformednessCheckingSink.java b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/WellformednessCheckingSink.java index 26ac452c..fce6be29 100644 --- a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/WellformednessCheckingSink.java +++ b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/WellformednessCheckingSink.java @@ -863,10 +863,15 @@ public class WellformednessCheckingSink extends AbstractSink { } @Override - public void verbatim(SinkEventAttributes attributes) { + public void verbatim() { startElement("verbatim"); } + @Override + public void verbatim(SinkEventAttributes attributes) { + verbatim(); + } + @Override public void horizontalRule(SinkEventAttributes attributes) { horizontalRule(); diff --git a/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java b/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java index b8606a6d..275c15f9 100644 --- a/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java +++ b/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java @@ -575,6 +575,12 @@ public class AptSink extends AbstractTextSink implements AptMarkup { } } + /** {@inheritDoc} */ + @Override + public void verbatim() { + verbatim(null); + } + /** {@inheritDoc} */ public void verbatim(SinkEventAttributes attributes) { MutableAttributeSet atts = SinkUtils.filterAttributes(attributes, SinkUtils.SINK_VERBATIM_ATTRIBUTES); diff --git a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java index 79fe935d..5229bc52 100644 --- a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java +++ b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java @@ -551,6 +551,12 @@ public class MarkdownSink extends AbstractTextSink implements MarkdownMarkup { } } + /** {@inheritDoc} */ + @Override + public void verbatim() { + verbatim(null); + } + /** {@inheritDoc} */ public void verbatim(SinkEventAttributes attributes) { write(EOL); diff --git a/doxia-sink-api/src/main/java/org/apache/maven/doxia/sink/Sink.java b/doxia-sink-api/src/main/java/org/apache/maven/doxia/sink/Sink.java index 782334b8..38378c36 100644 --- a/doxia-sink-api/src/main/java/org/apache/maven/doxia/sink/Sink.java +++ b/doxia-sink-api/src/main/java/org/apache/maven/doxia/sink/Sink.java @@ -1335,6 +1335,13 @@ public interface Sink { */ void division_(); + /** + * Starts a verbatim block, ie a block where whitespace has semantic relevance. + * + * @see #verbatim(SinkEventAttributes) + */ + void verbatim(); + /** * Starts a verbatim block, ie a block where whitespace has semantic relevance. *