jay.yydebug
Class yyInputStream
java.lang.Object
java.io.InputStream
jay.yydebug.yyInputStream
- All Implemented Interfaces:
- java.awt.event.KeyListener, java.io.Closeable, java.util.EventListener
public class yyInputStream
- extends java.io.InputStream
- implements java.awt.event.KeyListener
used to reroute standard input from a TextArea
.
Feeds all read methods from listening to typed keys.
Should not deadlock because one should generally not
read from within the event thread.
Field Summary |
protected java.lang.StringBuffer |
line
line edit buffer. |
protected java.util.ArrayList |
queue
completed lines, ready to be read. |
Method Summary |
int |
available()
|
void |
close()
|
void |
keyPressed(java.awt.event.KeyEvent ke)
this one ensures that you can only type at the end. |
void |
keyReleased(java.awt.event.KeyEvent ke)
|
void |
keyTyped(java.awt.event.KeyEvent ke)
|
int |
read()
|
int |
read(byte[] b,
int off,
int len)
|
long |
skip(long len)
returns 0: cannot skip on a terminal. |
Methods inherited from class java.io.InputStream |
mark, markSupported, read, reset |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
line
protected final java.lang.StringBuffer line
- line edit buffer.
queue
protected java.util.ArrayList queue
- completed lines, ready to be read.
Invariant: null after
close()
.
yyInputStream
public yyInputStream()
available
public int available()
throws java.io.IOException
- Overrides:
available
in class java.io.InputStream
- Throws:
java.io.IOException
close
public void close()
throws java.io.IOException
- Specified by:
close
in interface java.io.Closeable
- Overrides:
close
in class java.io.InputStream
- Throws:
java.io.IOException
read
public int read()
throws java.io.IOException
- Specified by:
read
in class java.io.InputStream
- Throws:
java.io.IOException
read
public int read(byte[] b,
int off,
int len)
throws java.io.IOException
- Overrides:
read
in class java.io.InputStream
- Throws:
java.io.IOException
skip
public long skip(long len)
- returns 0: cannot skip on a terminal.
- Overrides:
skip
in class java.io.InputStream
keyPressed
public void keyPressed(java.awt.event.KeyEvent ke)
- this one ensures that you can only type at the end.
This is executed within the event thread.
- Specified by:
keyPressed
in interface java.awt.event.KeyListener
keyTyped
public void keyTyped(java.awt.event.KeyEvent ke)
- Specified by:
keyTyped
in interface java.awt.event.KeyListener
keyReleased
public void keyReleased(java.awt.event.KeyEvent ke)
- Specified by:
keyReleased
in interface java.awt.event.KeyListener