org.openjena.atlas.io
Class IndentedWriter

java.lang.Object
  extended by org.openjena.atlas.io.IndentedWriter
Direct Known Subclasses:
IndentedLineBuffer

public class IndentedWriter
extends Object

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.


Field Summary
static IndentedWriter stderr
          Stderr wrapped in an IndentedWriter - no line numbers
static IndentedWriter stdout
          Stdout wrapped in an IndentedWriter - no line numbers
 
Constructor Summary
IndentedWriter(OutputStream outStream)
          Construct a UTF8 IndentedWriter around an OutputStream
IndentedWriter(OutputStream outStream, boolean withLineNumbers)
          Construct a UTF8 IndentedWriter around an OutputStream
 
Method Summary
 boolean atLineStart()
           
 void close()
           
 void decIndent()
           
 void decIndent(int x)
           
 void ensureStartOfLine()
           
 void flush()
           
 int getCol()
           
 int getCurrentOffset()
          Position past current indent
 String getEndOfLineMarker()
           
 int getIndent()
           
 char getPadChar()
           
 String getPadString()
           
 int getRow()
           
 int getUnitIndent()
           
 boolean hasLineNumbers()
           
 void incIndent()
           
 void incIndent(int x)
           
 boolean inFlatMode()
          Flat mode - print without NL, for a more compact representation - depends on caller
 void newline()
           
 void pad()
           
 void pad(int col)
          Pad to a given number of columns EXCLUDING the indent.
 void pad(int col, boolean absoluteColumn)
          Pad to a given number of columns maybe including the indent.
 void print(char ch)
           
 void print(char ch, int n)
          Print a char N times
 void print(Object obj)
           
 void print(String s, int n)
          Print a string N times
 void printf(String formatStr, Object... args)
           
 void println()
           
 void println(char ch)
           
 void println(Object obj)
           
 void setAbsoluteIndent(int x)
           
 void setEndOfLineMarker(String marker)
          Set the marker included at end of line - set to null for "none".
 void setFlatMode(boolean flatMode)
           
 void setLineNumbers(boolean lineNumbers)
           
 void setPadChar(char ch)
           
 void setPadString(String str)
           
 void setUnitIndent(int x)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stdout

public static final IndentedWriter stdout
Stdout wrapped in an IndentedWriter - no line numbers


stderr

public static final IndentedWriter stderr
Stderr wrapped in an IndentedWriter - no line numbers

Constructor Detail

IndentedWriter

public IndentedWriter(OutputStream outStream)
Construct a UTF8 IndentedWriter around an OutputStream


IndentedWriter

public IndentedWriter(OutputStream outStream,
                      boolean withLineNumbers)
Construct a UTF8 IndentedWriter around an OutputStream

Method Detail

print

public void print(Object obj)

printf

public void printf(String formatStr,
                   Object... args)

print

public void print(char ch)

println

public void println(Object obj)

println

public void println(char ch)

println

public void println()

print

public void print(String s,
                  int n)
Print a string N times


print

public void print(char ch,
                  int n)
Print a char N times


newline

public void newline()

ensureStartOfLine

public void ensureStartOfLine()

close

public void close()

flush

public void flush()

pad

public void pad()

pad

public void pad(int col)
Pad to a given number of columns EXCLUDING the indent.

Parameters:
col - Column number (first column is 1).

pad

public void pad(int col,
                boolean absoluteColumn)
Pad to a given number of columns maybe including the indent.

Parameters:
col - Column number (first column is 1).
absoluteColumn - Whether to include the indent

getRow

public int getRow()

getCol

public int getCol()

getIndent

public int getIndent()

getCurrentOffset

public int getCurrentOffset()
Position past current indent


hasLineNumbers

public boolean hasLineNumbers()

setLineNumbers

public void setLineNumbers(boolean lineNumbers)

getEndOfLineMarker

public String getEndOfLineMarker()

setEndOfLineMarker

public void setEndOfLineMarker(String marker)
Set the marker included at end of line - set to null for "none". Usually used for debugging.


inFlatMode

public boolean inFlatMode()
Flat mode - print without NL, for a more compact representation - depends on caller


setFlatMode

public void setFlatMode(boolean flatMode)

getPadChar

public char getPadChar()

setPadChar

public void setPadChar(char ch)

getPadString

public String getPadString()

setPadString

public void setPadString(String str)

incIndent

public void incIndent()

incIndent

public void incIndent(int x)

decIndent

public void decIndent()

decIndent

public void decIndent(int x)

setUnitIndent

public void setUnitIndent(int x)

getUnitIndent

public int getUnitIndent()

setAbsoluteIndent

public void setAbsoluteIndent(int x)

atLineStart

public boolean atLineStart()


Licenced under the Apache License, Version 2.0