Package com.strobel.decompiler
Class LineNumberPrintWriter
- java.lang.Object
-
- java.io.Writer
-
- java.io.PrintWriter
-
- com.strobel.decompiler.LineNumberPrintWriter
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.Appendable
,java.lang.AutoCloseable
class LineNumberPrintWriter extends java.io.PrintWriter
A specialization ofPrintWriter
which can automatically prefix lines with a Java-commented, justified line number. This class overrides only theprint(String)
andprintln(String)
methods, therefore all other methods must be avoided.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
_emptyPrefix
private java.lang.String
_format
private boolean
_needsPrefix
private boolean
_suppressLineNumbers
static int
NO_LINE_NUMBER
-
Constructor Summary
Constructors Constructor Description LineNumberPrintWriter(int maxLineNo, java.io.Writer w)
Creates an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
doPrefix(int lineNumber)
void
print(int lineNumber, java.lang.String s)
void
print(java.lang.String s)
void
println(int lineNumber, java.lang.String s)
void
println(java.lang.String s)
void
suppressLineNumbers()
Causes 'this' printer to not emit any line numbers or any whitespace padding.-
Methods inherited from class java.io.PrintWriter
append, append, append, checkError, clearError, close, flush, format, format, print, print, print, print, print, print, print, print, printf, printf, println, println, println, println, println, println, println, println, println, setError, write, write, write, write, write
-
-
-
-
Field Detail
-
NO_LINE_NUMBER
public static final int NO_LINE_NUMBER
- See Also:
- Constant Field Values
-
_emptyPrefix
private final java.lang.String _emptyPrefix
-
_format
private final java.lang.String _format
-
_needsPrefix
private boolean _needsPrefix
-
_suppressLineNumbers
private boolean _suppressLineNumbers
-
-
Constructor Detail
-
LineNumberPrintWriter
public LineNumberPrintWriter(int maxLineNo, java.io.Writer w)
Creates an instance. The only valid "print" methods to call areprint(String)
andprintln(String)
.- Parameters:
maxLineNo
- the highest line number that 'this' will ever encounterw
- the underlyingWriter
to which characters are printed.
-
-
Method Detail
-
suppressLineNumbers
public void suppressLineNumbers()
Causes 'this' printer to not emit any line numbers or any whitespace padding.
-
print
public void print(java.lang.String s)
- Overrides:
print
in classjava.io.PrintWriter
-
println
public void println(java.lang.String s)
- Overrides:
println
in classjava.io.PrintWriter
-
println
public void println(int lineNumber, java.lang.String s)
-
print
public void print(int lineNumber, java.lang.String s)
-
doPrefix
private void doPrefix(int lineNumber)
-
-