Package org.eclipse.rdf4j.common.io

## Class IndentingWriter

- java.lang.Object
- - java.io.Writer
  - - org.eclipse.rdf4j.common.io.IndentingWriter

- All Implemented Interfaces:
    `Closeable`, `Flushable`, `Appendable`, `AutoCloseable`

      public class IndentingWriter
      extends Writer

  A writer that adds indentation to written text.
  Author:
    Arjohn Kampman

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected int` | `indentationLevel` | The current indentation level, i.e.
    `protected Writer` | `out` | The underlying writer.

    - ### Fields inherited from class java.io.Writer

      `lock`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `IndentingWriter​(Writer out)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` |
    `void` | `decreaseIndentation()` | Decrease indentation level by 1.
    `void` | `flush()` |
    `int` | `getCharactersSinceEOL()` | Get the number of characters read since end-of-line.
    `int` | `getIndentationLevel()` | Get the indentation level (number of tabs or indentation string).
    `String` | `getIndentationString()` | Gets the string used for indentation.
    `void` | `increaseIndentation()` | Increase indentation level by 1.
    `void` | `setIndentationLevel​(int indentationLevel)` | Set indentation level (number of tabs or indentation string).
    `void` | `setIndentationString​(String indentString)` | Sets the string that should be used for indentation.
    `void` | `write​(char[] cbuf, int off, int len)` |
    `void` | `write​(String str, int off, int len)` |
    `void` | `writeEOL()` | Writes an end-of-line character sequence and triggers the indentation for the text written on the next line.

    - ### Methods inherited from class java.io.Writer

      `append, append, append, nullWriter, write, write, write`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### out

          protected Writer out

      The underlying writer.

    - #### indentationLevel

          protected int indentationLevel

      The current indentation level, i.e. the number of tabs to indent a start or end tag.

  - ### Constructor Detail

    - #### IndentingWriter

          public IndentingWriter​(Writer out)

  - ### Method Detail

    - #### setIndentationString

          public void setIndentationString​(String indentString)

      Sets the string that should be used for indentation. The default indentation string is a tab character.
      Parameters:
        `indentString` - The indentation string, e.g. a tab or a number of spaces.

    - #### getIndentationString

          public String getIndentationString()

      Gets the string used for indentation.
      Returns:
        the indentation string.

    - #### getIndentationLevel

          public int getIndentationLevel()

      Get the indentation level (number of tabs or indentation string).
      Returns:
        level as an integer

    - #### setIndentationLevel

          public void setIndentationLevel​(int indentationLevel)

      Set indentation level (number of tabs or indentation string).
      Parameters:
        `indentationLevel` - level as an integer

    - #### getCharactersSinceEOL

          public int getCharactersSinceEOL()

      Get the number of characters read since end-of-line.
      Returns:
        number of characters

    - #### increaseIndentation

          public void increaseIndentation()

      Increase indentation level by 1.

    - #### decreaseIndentation

          public void decreaseIndentation()

      Decrease indentation level by 1.

    - #### writeEOL

          public void writeEOL()
                        throws IOException

      Writes an end-of-line character sequence and triggers the indentation for the text written on the next line.
      Throws:
        `IOException`

    - #### close

          public void close()
                     throws IOException

      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in class `Writer`
      Throws:
        `IOException`

    - #### flush

          public void flush()
                     throws IOException

      Specified by:
        `flush` in interface `Flushable`
      Specified by:
        `flush` in class `Writer`
      Throws:
        `IOException`

    - #### write

          public void write​(String str,
                            int off,
                            int len)
                     throws IOException

      Overrides:
        `write` in class `Writer`
      Throws:
        `IOException`

    - #### write

          public void write​(char[] cbuf,
                            int off,
                            int len)
                     throws IOException

      Specified by:
        `write` in class `Writer`
      Throws:
        `IOException`