Package ghidra.app.plugin.assembler.sleigh.util

# Class DbgTimer.TabbingOutputStream

java.lang.Object
java.io.OutputStream
ghidra.app.plugin.assembler.sleigh.util.DbgTimer.TabbingOutputStream

All Implemented Interfaces:
  `Closeable`, `Flushable`, `AutoCloseable`

Enclosing class:
  DbgTimer

public static class DbgTimer.TabbingOutputStream extends OutputStream
A (rather slow) output stream that indents every line of its output

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected OutputStream`
  `out`
  `protected int`
  `state`
  `protected static final int`
  `STATE_LINE`
  `protected static final int`
  `STATE_NOLINE`
  `protected Stack<Long>`
  `timeStack`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `void`
  `flush()`
  `protected void`
  `setTimeStack(Stack<Long> timeStack)`
  Workaround: Set the time stack reference
  `protected void`
  `startln()`
  Start a new (indented) line of output
  `void`
  `write(int b)`
  Parses each line and prepends the indentation as they are printed

  ### Methods inherited from class java.io.OutputStream

  `nullOutputStream, write, write`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### STATE_NOLINE

    protected static final int STATE_NOLINE
    See Also:
      - Constant Field Values

  - ### STATE_LINE

    protected static final int STATE_LINE
    See Also:
      - Constant Field Values

  - ### out

    protected OutputStream out

  - ### state

    protected int state

  - ### timeStack

    protected Stack<Long> timeStack

- ## Method Details

  - ### startln

    protected void startln() throws IOException
    Start a new (indented) line of output
    Throws:
      `IOException`

  - ### setTimeStack

    protected void setTimeStack(Stack<Long> timeStack)
    Workaround: Set the time stack reference
    Parameters:
      `timeStack` - the stack

  - ### write

    public void write(int b) throws IOException
    Parses each line and prepends the indentation as they are printed
    Specified by:
      `write` in class `OutputStream`
    Throws:
      `IOException`

  - ### close

    public void close() throws IOException
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Overrides:
      `close` in class `OutputStream`
    Throws:
      `IOException`

  - ### flush

    public void flush() throws IOException
    Specified by:
      `flush` in interface `Flushable`
    Overrides:
      `flush` in class `OutputStream`
    Throws:
      `IOException`