org.armedbear.lisp
Class TwoWayStream

java.lang.Object
  extended by org.armedbear.lisp.LispObject
      extended by org.armedbear.lisp.StructureObject
          extended by org.armedbear.lisp.Stream
              extended by org.armedbear.lisp.TwoWayStream
Direct Known Subclasses:
SocketStream

public class TwoWayStream
extends Stream


Nested Class Summary
 
Nested classes/interfaces inherited from class org.armedbear.lisp.Stream
Stream.EolStyle, Stream.ReadtableAccessor
 
Field Summary
 Stream in
           
 Stream out
           
 
Fields inherited from class org.armedbear.lisp.Stream
charPos, currentReadtable, elementType, encoding, eolChar, eolStyle, externalFormat, faslReadtable, isBinaryStream, isCharacterStream, isInputStream, isOutputStream, keywordDefault, lastChar, lineNumber, offset, platformEolStyle, reader
 
Constructor Summary
TwoWayStream(Stream in, Stream out)
           
TwoWayStream(Stream in, Stream out, boolean interactive)
           
 
Method Summary
protected  boolean _charReady()
          Returns a boolean indicating input readily available
 void _clearInput()
          Reads all input from the underlying stream, until _charReady() indicates no more input to be available
 void _finishOutput()
          Flushes any buffered output in the (underlying) stream
 int _readByte()
          Reads an 8-bit byte off the underlying stream
protected  int _readChar()
          Reads a character off an underlying stream
protected  void _unreadChar(int n)
          Puts a character back into the (underlying) stream
 void _writeByte(int n)
          Writes an 8-bit byte off the underlying stream
 void _writeChar(char c)
          Writes a character into the underlying stream, updating charPos while doing so
 void _writeChars(char[] chars, int start, int end)
          Writes a series of characters in the underlying stream, updating charPos while doing so
 void _writeLine(java.lang.String s)
          Writes a string to the underlying stream, appending a new line and updating charPos while doing so
 void _writeString(java.lang.String s)
          Writes a string to the underlying stream, updating charPos while doing so
 LispObject classOf()
           
 LispObject close(LispObject abort)
           
 LispObject freshLine()
           
 LispObject getElementType()
           
 Stream getInputStream()
           
 Stream getOutputStream()
           
 boolean isBinaryInputStream()
           
 boolean isBinaryOutputStream()
           
 boolean isCharacterInputStream()
           
 boolean isCharacterOutputStream()
           
 LispObject listen()
           
 java.lang.String printObject()
           
 LispObject typeOf()
           
 LispObject typep(LispObject type)
           
 
Methods inherited from class org.armedbear.lisp.Stream
_close, _getFilePosition, _setFilePosition, clearInput, fileLength, fileStringLength, finishOutput, getCharPos, getEncoding, getExternalFormat, getFilePosition, getLineNumber, getOffset, getWrappedInputStream, getWrappedOutputStream, getWrappedReader, getWrappedWriter, initAsBinaryInputStream, initAsBinaryOutputStream, initAsCharacterInputStream, initAsCharacterOutputStream, invert, isInputStream, isInteractive, isOpen, isOutputStream, prin1, print, printStackTrace, read, readArray, readByte, readChar, readChar, readCharacterLiteral, readCharNoHang, readComplex, readDelimitedList, readDispatchChar, readLine, readList, readPathname, readPreservingWhitespace, readRadix, readSharpDot, readSharpLeftParen, readSharpStar, readString, readStructure, readSymbol, readSymbol, setCharPos, setExternalFormat, setFilePosition, setInteractive, setOpen, setWriter, skipBalancedComment, streamNotBinaryOutputStream, streamNotCharacterInputStream, streamNotCharacterOutputStream, streamNotInputStream, streamNotOutputStream, terpri, unreadChar
 
Methods inherited from class org.armedbear.lisp.StructureObject
equalp, getFixnumSlotValue, getParts, getSlotIndex, getSlotValue_0, getSlotValue_1, getSlotValue_2, getSlotValue_3, getSlotValue, getSlotValueAsBoolean, psxhash, psxhash, setSlotValue_0, setSlotValue_1, setSlotValue_2, setSlotValue_3, setSlotValue, setSlotValue, SLOT_VALUE
 
Methods inherited from class org.armedbear.lisp.LispObject
ABS, add, add, aref_long, aref, AREF, AREF, aset, aset, aset, ash, ash, atom, ATOM, caddr, cadr, car, cddr, cdr, CHAR, characterp, CHARACTERP, chars, COMPLEXP, constantp, CONSTANTP, copyToArray, decr, DENOMINATOR, dispatch, divideBy, doubleValue, elt, endp, ENDP, EQ, eql, eql, eql, EQL, equal, equal, EQUAL, equalp, evenp, EVENP, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, floatp, FLOATP, floatValue, getBooleanValue, getCallCount, getDescription, getDocumentation, getHotCount, getInstance, getPropertyList, getStringChars, getStringValue, getSymbolFunction, getSymbolFunctionOrDie, getSymbolSetfFunction, getSymbolSetfFunctionOrDie, getSymbolValue, incr, incrementCallCount, incrementHotCount, integerp, INTEGERP, intValue, IS_E, IS_GE, IS_GT, IS_LE, IS_LT, IS_NE, isEqualTo, isEqualTo, isGreaterThan, isGreaterThan, isGreaterThanOrEqualTo, isGreaterThanOrEqualTo, isLessThan, isLessThan, isLessThanOrEqualTo, isLessThanOrEqualTo, isNotEqualTo, isNotEqualTo, isSpecialOperator, isSpecialVariable, javaInstance, javaInstance, LDB, length, LENGTH, listp, LISTP, lockableInstance, LOGAND, LOGAND, LOGIOR, LOGIOR, LOGNOT, LOGXOR, LOGXOR, longValue, minusp, MINUSP, MOD, MOD, multiplyBy, multiplyBy, negate, noFillPointer, NOT, nreverse, NTH, NTH, nthcdr, numberp, NUMBERP, NUMERATOR, oddp, ODDP, plusp, PLUSP, princToString, push, rationalp, RATIONALP, realp, REALP, resolve, reverse, RPLACA, RPLACD, SCHAR, setCallCount, setCar, setCdr, setDocumentation, setHotCount, setPropertyList, SIMPLE_STRING_P, STRING, stringp, STRINGP, subtract, subtract, SVREF, svset, sxhash, SYMBOLP, truncate, unreadableString, unreadableString, VECTOR_PUSH_EXTEND, VECTOR_PUSH_EXTEND, vectorp, VECTORP, vectorPushExtend, zerop, ZEROP
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

in

public final Stream in

out

public final Stream out
Constructor Detail

TwoWayStream

public TwoWayStream(Stream in,
                    Stream out)

TwoWayStream

public TwoWayStream(Stream in,
                    Stream out,
                    boolean interactive)
Method Detail

getElementType

public LispObject getElementType()
Overrides:
getElementType in class Stream

getInputStream

public Stream getInputStream()

getOutputStream

public Stream getOutputStream()

isCharacterInputStream

public boolean isCharacterInputStream()
Overrides:
isCharacterInputStream in class Stream

isBinaryInputStream

public boolean isBinaryInputStream()
Overrides:
isBinaryInputStream in class Stream

isCharacterOutputStream

public boolean isCharacterOutputStream()
Overrides:
isCharacterOutputStream in class Stream

isBinaryOutputStream

public boolean isBinaryOutputStream()
Overrides:
isBinaryOutputStream in class Stream

typeOf

public LispObject typeOf()
Overrides:
typeOf in class Stream

classOf

public LispObject classOf()
Overrides:
classOf in class Stream

typep

public LispObject typep(LispObject type)
Overrides:
typep in class Stream

_readChar

protected int _readChar()
                 throws java.io.IOException
Description copied from class: Stream
Reads a character off an underlying stream

Overrides:
_readChar in class Stream
Returns:
a character, or -1 at end-of-file
Throws:
java.io.IOException

_unreadChar

protected void _unreadChar(int n)
                    throws java.io.IOException
Description copied from class: Stream
Puts a character back into the (underlying) stream

Overrides:
_unreadChar in class Stream
Throws:
java.io.IOException

_charReady

protected boolean _charReady()
                      throws java.io.IOException
Description copied from class: Stream
Returns a boolean indicating input readily available

Overrides:
_charReady in class Stream
Returns:
true if a character is available
Throws:
java.io.IOException

_writeChar

public void _writeChar(char c)
Description copied from class: Stream
Writes a character into the underlying stream, updating charPos while doing so

Overrides:
_writeChar in class Stream

_writeChars

public void _writeChars(char[] chars,
                        int start,
                        int end)
Description copied from class: Stream
Writes a series of characters in the underlying stream, updating charPos while doing so

Overrides:
_writeChars in class Stream

_writeString

public void _writeString(java.lang.String s)
Description copied from class: Stream
Writes a string to the underlying stream, updating charPos while doing so

Overrides:
_writeString in class Stream

_writeLine

public void _writeLine(java.lang.String s)
Description copied from class: Stream
Writes a string to the underlying stream, appending a new line and updating charPos while doing so

Overrides:
_writeLine in class Stream

_readByte

public int _readByte()
Description copied from class: Stream
Reads an 8-bit byte off the underlying stream

Overrides:
_readByte in class Stream
Returns:

_writeByte

public void _writeByte(int n)
Description copied from class: Stream
Writes an 8-bit byte off the underlying stream

Overrides:
_writeByte in class Stream

_finishOutput

public void _finishOutput()
Description copied from class: Stream
Flushes any buffered output in the (underlying) stream

Overrides:
_finishOutput in class Stream

_clearInput

public void _clearInput()
Description copied from class: Stream
Reads all input from the underlying stream, until _charReady() indicates no more input to be available

Overrides:
_clearInput in class Stream

listen

public LispObject listen()
Overrides:
listen in class Stream

freshLine

public LispObject freshLine()
Overrides:
freshLine in class Stream

close

public LispObject close(LispObject abort)
Overrides:
close in class Stream

printObject

public java.lang.String printObject()
Overrides:
printObject in class StructureObject