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 62043124afd98bd9381a887a8dd3628dc2334294
Author: Andy Seaborne <[email protected]>
AuthorDate: Sat May 31 14:20:28 2025 +0100

    IndentedWriter: Return 'this' from setters for chaining
---
 .../org/apache/jena/atlas/io/IndentedWriter.java   | 30 +++++++++++++++-------
 1 file changed, 21 insertions(+), 9 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 d33466cc11..a448fd5c57 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
@@ -335,29 +335,35 @@ public class IndentedWriter extends AWriterBase 
implements AWriter, Closeable
         return 0;
     }
 
+    protected IndentedWriter self() { return this; }
+
     /** Get indent from the left hand edge */
     public int getAbsoluteIndent()       { return currentIndent; }
 
     /** Set indent from the left hand edge. Returns {@code this}. */
-    public void setAbsoluteIndent(int x) { currentIndent = x; }
+    public IndentedWriter setAbsoluteIndent(int x) { currentIndent = x; return 
self(); }
 
     public boolean hasLineNumbers() {
         return lineNumbers;
     }
 
-    public void setLineNumbers(boolean lineNumbers) {
+    public IndentedWriter setLineNumbers(boolean lineNumbers) {
         this.lineNumbers = lineNumbers;
+        return self();
     }
 
     public String getEndOfLineMarker()              { return endOfLineMarker; }
 
     /** Set the marker included at end of line - set to null for "none".  
Usually used for debugging. */
-    public void setEndOfLineMarker(String marker)  {  endOfLineMarker = 
marker; }
+    public IndentedWriter setEndOfLineMarker(String marker)  {  
endOfLineMarker = marker; return self(); }
 
     /** Flat mode - print without NL, for a more compact representation */
     public boolean inFlatMode()                     { return flatMode; }
     /** Flat mode - print without NL, for a more compact representation*/
-    public void setFlatMode(boolean flatMode)       { this.flatMode = 
flatMode; }
+    public IndentedWriter setFlatMode(boolean flatMode) {
+        this.flatMode = flatMode;
+        return self();
+    }
 
     /** Flush on newline **/
     public boolean getFlushOnNewline()              { return flushOnNewline; }
@@ -367,11 +373,14 @@ public class IndentedWriter extends AWriterBase 
implements AWriter, Closeable
      * but not by default otherwise. The underlying output, if it is a {@link 
PrintStream}
      * may also have a flush on newline as well (e.g {@link System#out}).
      */
-    public void setFlushOnNewline(boolean flushOnNewline) { 
this.flushOnNewline = flushOnNewline; }
+    public IndentedWriter setFlushOnNewline(boolean flushOnNewline) {
+        this.flushOnNewline = flushOnNewline;
+        return self();
+    }
 
     public char getPadChar()                        { return padChar; }
 
-    public void setPadChar(char ch)                 { this.padChar = ch; }
+    public IndentedWriter setPadChar(char ch)       { this.padChar = ch; 
return self(); }
 
     public String getPadString()                    { return padString; }
 
@@ -386,14 +395,16 @@ public class IndentedWriter extends AWriterBase 
implements AWriter, Closeable
     }
 
     /** Set the initial string printed at the start of each line. */
-    public void setLinePrefix(String str) {
+    public IndentedWriter setLinePrefix(String str) {
         this.linePrefix = str;
+        return self();
     }
 
     public int getUnitIndent()         { return unitIndent; }
 
-    public void setUnitIndent(int x) {
+    public IndentedWriter setUnitIndent(int x) {
         unitIndent = x;
+        return self();
     }
 
     private int widthLineNumber = 3;
@@ -404,8 +415,9 @@ public class IndentedWriter extends AWriterBase implements 
AWriter, Closeable
     /** Set the width of the number field.
      * There is also a single space after the number not included in this 
setting.
      */
-    public void setNumberWidth(int widthOfNumbers) {
+    public IndentedWriter setNumberWidth(int widthOfNumbers) {
         widthLineNumber = widthOfNumbers;
+        return self();
     }
 
     private void insertLineNumber() {

Reply via email to