This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit 5d51868bffec5d0ea8a423cf1a5bc97f46e8e52b
Author: Andy Seaborne <[email protected]>
AuthorDate: Sun Jun 1 09:36:39 2025 +0100

    IndentedWriter: close() to call flush() on the wrapped output
---
 .../org/apache/jena/atlas/io/IndentedWriter.java   | 28 +++++++++++++++++-----
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git 
a/jena-base/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java 
b/jena-base/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java
index a448fd5c57..bf5f90f44e 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java
@@ -26,9 +26,14 @@ import java.io.Writer;
 
 import org.apache.jena.atlas.lib.Closeable;
 
-/** A writer that records what the current indentation level is, and
- *  uses that to insert a prefix at each line.
- *  It can also insert line numbers at the beginning of lines. */
+/**
+ * A {@link AWriter} that records what the current indentation level is, and 
uses
+ * that to insert a prefix at each line.
+ * It can also insert line numbers at the beginning of lines.
+ * <p>
+ * An {@code IndentedWriter} flushed, bit does not close, the underlying 
output a
+ * stream on close.
+ */
 
 public class IndentedWriter extends AWriterBase implements AWriter, Closeable
 {
@@ -109,16 +114,23 @@ public class IndentedWriter extends AWriterBase 
implements AWriter, Closeable
     public IndentedWriter clone() {
         return clone(this);
     }
+
     private static Writer makeWriter(OutputStream out) {
         return IO.asBufferedUTF8(out);
     }
 
-    /** Using Writers directly is discouraged */
+    /**
+     * Using {@link java.io.Writer Java I/O Writers} directly is discouraged
+     * and may case character encoding issues.
+     */
     protected IndentedWriter(Writer writer) {
         this(writer, false);
     }
 
-    /** Using Writers directly is discouraged */
+    /**
+     * Using {@link java.io.Writer Java I/O Writers} directly is discouraged
+     * and may case character encoding issues.
+     */
     protected IndentedWriter(Writer writer, boolean withLineNumbers) {
         out = writer;
         lineNumbers = withLineNumbers;
@@ -253,7 +265,11 @@ public class IndentedWriter extends AWriterBase implements 
AWriter, Closeable
     }
 
     @Override
-    public void close() { IO.close(out); }
+    public void close() {
+        // flush, not close.
+        // IndentedWriters wrap an underlying output, often a short term 
additional layer.
+        flush();
+    }
 
     @Override
     public void flush() { IO.flush(out); }

Reply via email to