Class WrapWriter

java.lang.Object
java.io.Writer
com.sun.javatest.util.WrapWriter
All Implemented Interfaces:
Closeable, Flushable, Appendable, AutoCloseable

public class WrapWriter extends Writer
A writer that will automatically word wrap lines to fit within left and right margins.
  • Constructor Details

    • WrapWriter

      public WrapWriter(OutputStream out)
      Create a WrapWriter object that will write to a given stream.
      Parameters:
      out - the stream to which the WrapWriter will write
    • WrapWriter

      public WrapWriter(Writer out)
      Create a WrapWriter object that will write to a given stream.
      Parameters:
      out - the stream to which the WrapWriter will write
  • Method Details

    • getLeftMargin

      public int getLeftMargin()
      Get the position for the left margin for the text stream.
      Returns:
      the position for the left margin
      See Also:
    • setLeftMargin

      public void setLeftMargin(int m)
      Set the position for the left margin for the text stream.
      Parameters:
      m - the position for the left margin
      Throws:
      IllegalArgumentException - if the value is negative or greater than the current value of the right margin
      See Also:
    • getRightMargin

      public int getRightMargin()
      Get the position for the right margin for the text stream.
      Returns:
      the position for the right margin
      See Also:
    • setRightMargin

      public void setRightMargin(int m)
      Set the position for the right margin for the text stream.
      Parameters:
      m - the position for the right margin
      Throws:
      IllegalArgumentException - if the value is less than the current value of the left margin
      See Also:
    • getCharsOnLineSoFar

      public int getCharsOnLineSoFar()
      Get the number of characters that have been written so far on the current line. This will not include any characters in the last word that have not yet been written. Use flush() or write a white space character to force out the last word written.
      Returns:
      the number of characters that have been written so far on the line
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class Writer
      Throws:
      IOException
    • flush

      public void flush() throws IOException
      Specified by:
      flush in interface Flushable
      Specified by:
      flush in class Writer
      Throws:
      IOException
    • write

      public void write(char[] cbuf, int off, int len) throws IOException
      Specified by:
      write in class Writer
      Throws:
      IOException
    • write

      public void write(char c) throws IOException
      Write a character to the stream. Non-white-space characters will be buffered until a white space character is written. When a white space character is written, the buffered characters will be written on the current line, if they will fit before the right margin, otherwise a newline and spaces will be inserted so that the buffered characters appear on the next line starting at the left margin.
      Parameters:
      c - the character to be written
      Throws:
      IOException - if there is a problem writing to the underlying stream