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 and 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 and Description
    `IndentingWriter(Writer out)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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, 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 `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      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`

Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.