You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2023/01/13 14:23:19 UTC
[maven-doxia] 01/01: [DOXIA-687] Introduce Sink#verbatim(void) method
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 <mi...@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.
*