Class UsagePrinter


  • public class UsagePrinter
    extends java.lang.Object
    Helper for printing out usage information

    Provides support for maintaining indents and wrapping text to a column width

    • Field Detail

      • out

        private final java.io.PrintWriter out
      • maxSize

        private final int maxSize
      • indent

        private final int indent
      • hangingIndent

        private final int hangingIndent
      • currentPosition

        private final java.util.concurrent.atomic.AtomicInteger currentPosition
    • Constructor Detail

      • UsagePrinter

        public UsagePrinter​(java.io.PrintWriter out)
      • UsagePrinter

        public UsagePrinter​(java.io.PrintWriter out,
                            int maxSize)
      • UsagePrinter

        public UsagePrinter​(java.io.PrintWriter out,
                            int maxSize,
                            int indent,
                            int hangingIndent,
                            java.util.concurrent.atomic.AtomicInteger currentPosition)
    • Method Detail

      • newIndentedPrinter

        public UsagePrinter newIndentedPrinter​(int size)
      • newPrinterWithHangingIndent

        public UsagePrinter newPrinterWithHangingIndent​(int size)
      • appendTable

        public UsagePrinter appendTable​(java.lang.Iterable<? extends java.lang.Iterable<java.lang.String>> table,
                                        int rowSpacing)
      • trimEnd

        public static java.lang.String trimEnd​(java.lang.String str)
      • append

        public UsagePrinter append​(java.lang.String value)
      • appendOnOneLine

        public UsagePrinter appendOnOneLine​(java.lang.String value)
      • appendWords

        public UsagePrinter appendWords​(java.lang.String[] words)
      • appendWords

        public UsagePrinter appendWords​(java.lang.Iterable<java.lang.String> words)
      • append

        public UsagePrinter append​(java.lang.String value,
                                   boolean avoidNewlines)
      • appendLines

        public UsagePrinter appendLines​(java.lang.Iterable<java.lang.String> lines)
      • appendLines

        public UsagePrinter appendLines​(java.lang.Iterable<java.lang.String> lines,
                                        boolean avoidNewlines)
      • appendWords

        public UsagePrinter appendWords​(java.lang.String[] words,
                                        boolean avoidNewlines)
      • appendWords

        public UsagePrinter appendWords​(java.lang.Iterable<java.lang.String> words,
                                        boolean avoidNewlines)
      • flush

        public void flush()
      • close

        public void close()
      • spaces

        private static java.lang.String spaces​(int count)