Class LineNumberPrintWriter

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.Appendable, java.lang.AutoCloseable

    class LineNumberPrintWriter
    extends java.io.PrintWriter
    A specialization of PrintWriter which can automatically prefix lines with a Java-commented, justified line number. This class overrides only the print(String) and println(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  
      • Fields inherited from class java.io.PrintWriter

        out
      • Fields inherited from class java.io.Writer

        lock
    • 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
      • Methods inherited from class java.io.Writer

        nullWriter
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • _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 are print(String) and println(String).
        Parameters:
        maxLineNo - the highest line number that 'this' will ever encounter
        w - the underlying Writer 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 class java.io.PrintWriter
      • println

        public void println​(java.lang.String s)
        Overrides:
        println in class java.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)