public class Stream extends StructureObject
Modifier and Type | Class and Description |
---|---|
static class |
Stream.EolStyle |
static class |
Stream.ReadtableAccessor
Class to abstract readtable access
Many of the functions below (used to) exist in 2 variants.
|
Modifier and Type | Field and Description |
---|---|
private static Primitive |
_CLEAR_OUTPUT |
private static Primitive |
_FINISH_OUTPUT |
private static Primitive |
_FORCE_OUTPUT |
private static Primitive |
_READ_FROM_STRING |
private static Symbol |
_SHARP_EQUAL_ALIST_ |
private static Primitive |
_STREAM_WRITE_CHAR |
private static Primitive |
_WRITE_CHAR |
private static Primitive |
_WRITE_STRING |
protected int |
charPos
The number of characters on the current line of output
Used to determine whether additional line feeds are
required when calling FRESH-LINE
|
private static Primitive |
CLEAR_INPUT |
private static Primitive |
CLOSE |
static Stream.ReadtableAccessor |
currentReadtable
pre-instantiated readtable accessor for the *readtable*.
|
protected LispObject |
elementType |
protected String |
encoding |
protected char |
eolChar |
protected Stream.EolStyle |
eolStyle |
protected LispObject |
externalFormat |
static Stream.ReadtableAccessor |
faslReadtable
pre-instantiated readtable accessor for the fasl readtable.
|
private static Primitive |
FILE_POSITION |
private InputStream |
in |
private boolean |
interactive |
protected boolean |
isBinaryStream |
protected boolean |
isCharacterStream |
protected boolean |
isInputStream |
protected boolean |
isOutputStream |
private static Symbol |
keywordCodePage |
private static Symbol |
keywordCR |
private static Symbol |
keywordCRLF |
protected static Symbol |
keywordDefault |
private static Symbol |
keywordEolStyle |
private static Symbol |
keywordID |
private static Symbol |
keywordLF |
private static Symbol |
keywordRAW |
protected char |
lastChar |
protected int |
lineNumber |
protected int |
offset |
private boolean |
open |
private OutputStream |
out |
private static Primitive |
OUT_SYNONYM_OF |
private boolean |
pastEnd |
static Stream.EolStyle |
platformEolStyle |
private static Primitive |
READ |
private static Primitive |
READ_8_BITS |
private static Primitive |
READ_CHAR |
private static Primitive |
READ_CHAR_NO_HANG |
private static Primitive |
READ_DELIMITED_LIST |
private static Primitive |
READ_LINE |
private static Primitive |
READ_PRESERVING_WHITESPACE |
private static Primitive |
READ_VECTOR_UNSIGNED_BYTE_8 |
protected PushbackReader |
reader |
private static Primitive |
STREAM_CHARPOS |
private static Primitive |
STREAM_LINE_NUMBER |
private static Primitive |
STREAM_OFFSET |
private static Primitive |
STREAM_SET_CHARPOS |
private static Primitive |
UNREAD_CHAR |
private static Primitive |
WRITE_8_BITS |
private static Primitive |
WRITE_VECTOR_UNSIGNED_BYTE_8 |
private Writer |
writer |
slots
Modifier | Constructor and Description |
---|---|
protected |
Stream(Symbol structureClass) |
|
Stream(Symbol structureClass,
InputStream stream) |
|
Stream(Symbol structureClass,
InputStream inputStream,
LispObject elementType) |
|
Stream(Symbol structureClass,
InputStream inputStream,
LispObject elementType,
boolean interactive) |
|
Stream(Symbol structureClass,
InputStream inputStream,
LispObject elementType,
LispObject format) |
|
Stream(Symbol structureClass,
OutputStream stream) |
|
Stream(Symbol structureClass,
OutputStream outputStream,
LispObject elementType) |
|
Stream(Symbol structureClass,
OutputStream outputStream,
LispObject elementType,
boolean interactive) |
|
Stream(Symbol structureClass,
OutputStream outputStream,
LispObject elementType,
LispObject format) |
|
Stream(Symbol structureClass,
Reader r) |
|
Stream(Symbol structureClass,
Writer w) |
Modifier and Type | Method and Description |
---|---|
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 |
_close()
Closes the stream and underlying streams
|
void |
_finishOutput()
Flushes any buffered output in the (underlying) stream
|
protected long |
_getFilePosition()
Returns a (non-negative) file position integer or a negative value
if the position cannot be determined.
|
int |
_readByte()
Reads an 8-bit byte off the underlying stream
|
protected int |
_readChar()
Reads a character off an underlying stream
|
private BitSet |
_readToken(StringBuilder sb,
Readtable rt) |
protected boolean |
_setFilePosition(LispObject arg)
Sets the file position based on a position designator passed in arg
|
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(String s)
Writes a string to the underlying stream, appending
a new line and updating charPos while doing so
|
void |
_writeString(String s)
Writes a string to the underlying stream,
updating charPos while doing so
|
LispObject |
classOf() |
LispObject |
clearInput() |
LispObject |
close(LispObject abort) |
LispObject |
fileLength() |
LispObject |
fileStringLength(LispObject arg) |
private static int |
findUnescapedDoubleColon(String s,
BitSet flags) |
private static int |
findUnescapedSingleColon(String s,
BitSet flags) |
LispObject |
finishOutput() |
(package private) static LispObject |
finishOutput(LispObject arg) |
private char |
flushWhitespace(Readtable rt) |
LispObject |
freshLine() |
int |
getCharPos() |
LispObject |
getElementType() |
String |
getEncoding() |
LispObject |
getExternalFormat() |
LispObject |
getFilePosition() |
int |
getLineNumber() |
int |
getOffset() |
private static int |
getReadBase(LispThread thread) |
InputStream |
getWrappedInputStream() |
OutputStream |
getWrappedOutputStream() |
PushbackReader |
getWrappedReader() |
Writer |
getWrappedWriter() |
protected void |
initAsBinaryInputStream(InputStream in) |
protected void |
initAsBinaryOutputStream(OutputStream out) |
protected void |
initAsCharacterInputStream(Reader reader) |
protected void |
initAsCharacterOutputStream(Writer writer) |
static String |
invert(String s,
BitSet flags) |
boolean |
isBinaryInputStream() |
boolean |
isBinaryOutputStream() |
boolean |
isCharacterInputStream() |
boolean |
isCharacterOutputStream() |
boolean |
isInputStream() |
boolean |
isInteractive() |
boolean |
isOpen() |
boolean |
isOutputStream() |
private static boolean |
isTokenDelimiter(char c,
Readtable rt) |
LispObject |
listen() |
private static LispObject |
makeFloat(String token,
int length) |
private LispObject |
makeNumber(String token,
int length,
int radix) |
private LispObject |
makeRatio(String token,
int radix) |
void |
prin1(LispObject obj) |
void |
print(char c) |
void |
printStackTrace(Throwable t) |
private LispObject |
processChar(LispThread thread,
char c,
Readtable rt)
Dispatch macro function if 'c' has one associated,
read a token otherwise.
|
LispObject |
read(boolean eofError,
LispObject eofValue,
boolean recursive,
LispThread thread,
Stream.ReadtableAccessor rta) |
LispObject |
readArray(int rank,
Stream.ReadtableAccessor rta) |
LispObject |
readByte(boolean eofError,
LispObject eofValue) |
LispObject |
readChar() |
LispObject |
readChar(boolean eofError,
LispObject eofValue) |
LispObject |
readCharacterLiteral(Readtable rt,
LispThread thread) |
LispObject |
readCharNoHang(boolean eofError,
LispObject eofValue) |
LispObject |
readComplex(Stream.ReadtableAccessor rta) |
LispObject |
readDelimitedList(char delimiter) |
LispObject |
readDispatchChar(char dispChar,
Stream.ReadtableAccessor rta) |
LispObject |
readLine(boolean eofError,
LispObject eofValue) |
LispObject |
readList(boolean requireProperList,
Stream.ReadtableAccessor rta) |
private String |
readMultipleEscape(Readtable rt) |
LispObject |
readPathname(Stream.ReadtableAccessor rta) |
LispObject |
readPreservingWhitespace(boolean eofError,
LispObject eofValue,
boolean recursive,
LispThread thread,
Stream.ReadtableAccessor rta) |
LispObject |
readRadix(int radix,
Stream.ReadtableAccessor rta) |
LispObject |
readSharpDot(char c,
int n,
Stream.ReadtableAccessor rta) |
LispObject |
readSharpLeftParen(char c,
int n,
Stream.ReadtableAccessor rta) |
LispObject |
readSharpStar(char ignored,
int n,
Stream.ReadtableAccessor rta) |
LispObject |
readString(char terminator,
Stream.ReadtableAccessor rta) |
LispObject |
readStructure(Stream.ReadtableAccessor rta) |
LispObject |
readSymbol() |
LispObject |
readSymbol(Readtable rt) |
private LispObject |
readToken(char c,
Readtable rt) |
void |
setCharPos(int n) |
void |
setExternalFormat(LispObject format) |
LispObject |
setFilePosition(LispObject arg) |
void |
setInteractive(boolean b) |
void |
setOpen(boolean b) |
protected void |
setWriter(Writer writer) |
void |
skipBalancedComment() |
protected LispObject |
streamNotBinaryOutputStream() |
protected LispObject |
streamNotCharacterInputStream() |
protected LispObject |
streamNotCharacterOutputStream() |
protected LispObject |
streamNotInputStream() |
protected LispObject |
streamNotOutputStream() |
LispObject |
terpri() |
String |
toString() |
LispObject |
typeOf() |
LispObject |
typep(LispObject typeSpecifier) |
LispObject |
unreadChar(LispCharacter c) |
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, writeToString
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, 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, unreadableString, unreadableString, VECTOR_PUSH_EXTEND, VECTOR_PUSH_EXTEND, vectorp, VECTORP, vectorPushExtend, zerop, ZEROP
protected LispObject elementType
protected boolean isInputStream
protected boolean isOutputStream
protected boolean isCharacterStream
protected boolean isBinaryStream
private boolean pastEnd
private boolean interactive
private boolean open
protected PushbackReader reader
protected int offset
protected int lineNumber
private Writer writer
protected int charPos
protected static final Symbol keywordDefault
private static final Symbol keywordCodePage
private static final Symbol keywordID
private static final Symbol keywordEolStyle
private static final Symbol keywordCR
private static final Symbol keywordLF
private static final Symbol keywordCRLF
private static final Symbol keywordRAW
public static final Stream.EolStyle platformEolStyle
protected Stream.EolStyle eolStyle
protected char eolChar
protected LispObject externalFormat
protected String encoding
protected char lastChar
private InputStream in
private OutputStream out
public static Stream.ReadtableAccessor currentReadtable
public static Stream.ReadtableAccessor faslReadtable
private static final Symbol _SHARP_EQUAL_ALIST_
private static final Primitive _WRITE_CHAR
private static final Primitive _STREAM_WRITE_CHAR
private static final Primitive _WRITE_STRING
private static final Primitive _FINISH_OUTPUT
private static final Primitive _FORCE_OUTPUT
private static final Primitive CLEAR_INPUT
private static final Primitive _CLEAR_OUTPUT
private static final Primitive CLOSE
private static final Primitive OUT_SYNONYM_OF
private static final Primitive WRITE_8_BITS
private static final Primitive READ_8_BITS
private static final Primitive READ_LINE
private static final Primitive _READ_FROM_STRING
private static final Primitive READ
private static final Primitive READ_PRESERVING_WHITESPACE
private static final Primitive READ_CHAR
private static final Primitive READ_CHAR_NO_HANG
private static final Primitive READ_DELIMITED_LIST
private static final Primitive UNREAD_CHAR
private static final Primitive WRITE_VECTOR_UNSIGNED_BYTE_8
private static final Primitive READ_VECTOR_UNSIGNED_BYTE_8
private static final Primitive FILE_POSITION
private static final Primitive STREAM_LINE_NUMBER
private static final Primitive STREAM_OFFSET
private static final Primitive STREAM_CHARPOS
private static final Primitive STREAM_SET_CHARPOS
protected Stream(Symbol structureClass)
public Stream(Symbol structureClass, InputStream stream)
public Stream(Symbol structureClass, OutputStream stream)
public Stream(Symbol structureClass, InputStream inputStream, LispObject elementType)
public Stream(Symbol structureClass, InputStream inputStream, LispObject elementType, LispObject format)
public Stream(Symbol structureClass, InputStream inputStream, LispObject elementType, boolean interactive)
public Stream(Symbol structureClass, OutputStream outputStream, LispObject elementType)
public Stream(Symbol structureClass, OutputStream outputStream, LispObject elementType, LispObject format)
public Stream(Symbol structureClass, OutputStream outputStream, LispObject elementType, boolean interactive)
protected void initAsCharacterInputStream(Reader reader)
protected void initAsBinaryInputStream(InputStream in)
protected void initAsCharacterOutputStream(Writer writer)
protected void initAsBinaryOutputStream(OutputStream out)
public boolean isInputStream()
public boolean isOutputStream()
public boolean isCharacterInputStream()
public boolean isBinaryInputStream()
public boolean isCharacterOutputStream()
public boolean isBinaryOutputStream()
public boolean isInteractive()
public void setInteractive(boolean b)
public LispObject getExternalFormat()
public String getEncoding()
public void setExternalFormat(LispObject format)
public boolean isOpen()
public void setOpen(boolean b)
public LispObject typeOf()
typeOf
in class StructureObject
public LispObject classOf()
classOf
in class StructureObject
public LispObject typep(LispObject typeSpecifier)
typep
in class StructureObject
public LispObject getElementType()
public int getOffset()
public final int getLineNumber()
protected void setWriter(Writer writer)
public int getCharPos()
public void setCharPos(int n)
public LispObject read(boolean eofError, LispObject eofValue, boolean recursive, LispThread thread, Stream.ReadtableAccessor rta)
public LispObject readPreservingWhitespace(boolean eofError, LispObject eofValue, boolean recursive, LispThread thread, Stream.ReadtableAccessor rta)
private final LispObject processChar(LispThread thread, char c, Readtable rt)
public LispObject readPathname(Stream.ReadtableAccessor rta)
public LispObject readSymbol()
public LispObject readSymbol(Readtable rt)
public LispObject readStructure(Stream.ReadtableAccessor rta)
public LispObject readString(char terminator, Stream.ReadtableAccessor rta)
public LispObject readList(boolean requireProperList, Stream.ReadtableAccessor rta)
private static final boolean isTokenDelimiter(char c, Readtable rt)
public LispObject readDispatchChar(char dispChar, Stream.ReadtableAccessor rta)
public LispObject readSharpLeftParen(char c, int n, Stream.ReadtableAccessor rta)
public LispObject readSharpStar(char ignored, int n, Stream.ReadtableAccessor rta)
public LispObject readSharpDot(char c, int n, Stream.ReadtableAccessor rta)
public LispObject readCharacterLiteral(Readtable rt, LispThread thread)
public void skipBalancedComment()
public LispObject readArray(int rank, Stream.ReadtableAccessor rta)
public LispObject readComplex(Stream.ReadtableAccessor rta)
private final LispObject readToken(char c, Readtable rt)
private final BitSet _readToken(StringBuilder sb, Readtable rt)
private static final int getReadBase(LispThread thread)
private final LispObject makeNumber(String token, int length, int radix)
private final LispObject makeRatio(String token, int radix)
private static final LispObject makeFloat(String token, int length)
public LispObject readRadix(int radix, Stream.ReadtableAccessor rta)
private char flushWhitespace(Readtable rt)
public LispObject readDelimitedList(char delimiter)
public LispObject readLine(boolean eofError, LispObject eofValue)
public LispObject readChar()
public LispObject readChar(boolean eofError, LispObject eofValue)
public LispObject readCharNoHang(boolean eofError, LispObject eofValue)
public LispObject unreadChar(LispCharacter c)
public LispObject finishOutput()
public LispObject clearInput()
public LispObject getFilePosition()
public LispObject setFilePosition(LispObject arg)
public LispObject close(LispObject abort)
public LispObject readByte(boolean eofError, LispObject eofValue)
public LispObject terpri()
public LispObject freshLine()
public void print(char c)
public void prin1(LispObject obj)
public LispObject listen()
public LispObject fileLength()
public LispObject fileStringLength(LispObject arg)
protected int _readChar() throws IOException
IOException
protected void _unreadChar(int n) throws IOException
n
- IOException
protected boolean _charReady() throws IOException
IOException
public void _writeChar(char c)
c
- public void _writeChars(char[] chars, int start, int end)
chars
- start
- end
- public void _writeString(String s)
s
- public void _writeLine(String s)
s
- public int _readByte()
public void _writeByte(int n)
n
- public void _finishOutput()
public void _clearInput()
protected long _getFilePosition()
protected boolean _setFilePosition(LispObject arg)
arg
- File position specifier as described in the CLHSpublic void _close()
public void printStackTrace(Throwable t)
protected LispObject streamNotInputStream()
protected LispObject streamNotCharacterInputStream()
protected LispObject streamNotOutputStream()
protected LispObject streamNotBinaryOutputStream()
protected LispObject streamNotCharacterOutputStream()
static final LispObject finishOutput(LispObject arg)
public InputStream getWrappedInputStream()
public OutputStream getWrappedOutputStream()
public Writer getWrappedWriter()
public PushbackReader getWrappedReader()