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.
-
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.
-
-
-
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 interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classWriter
- Throws:
IOException
-
flush
public void flush() throws IOException
- Specified by:
flush
in interfaceFlushable
- Specified by:
flush
in classWriter
- Throws:
IOException
-
write
public void write(String str, int off, int len) throws IOException
- Overrides:
write
in classWriter
- Throws:
IOException
-
write
public void write(char[] cbuf, int off, int len) throws IOException
- Specified by:
write
in classWriter
- Throws:
IOException
-
-