|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object fr.umlv.tatoo.runtime.buffer.impl.AbstractBufferWrapper fr.umlv.tatoo.runtime.buffer.impl.ReaderWrapper
public class ReaderWrapper
A ReaderWrapper
wraps a Reader
in order to allow
a lexer to process its content in order to have its tokens extracted.
Lexer
Constructor Summary | |
---|---|
ReaderWrapper(int capacity,
int increment,
int chunkSize,
Reader reader,
LocationTracker tracker)
Construct a ReaderWrapper used by the lexer to process the Reader . |
|
ReaderWrapper(Reader reader,
LocationTracker tracker)
Constructs a ReaderWrapper with default behavior. |
Method Summary | |
---|---|
char |
charAt(int index)
|
void |
discardImpl()
|
boolean |
hasRemaining()
Returns true if more characters are availables in the buffer. |
int |
lastChar()
Returns last read char or -1 if not available. |
int |
length()
|
protected int |
nextImpl()
Returns next character in buffer without taking care of locations |
boolean |
previousWasNewLine()
Determines if the last unwinded character was an end of line. |
boolean |
read()
Reads at some bytes from the stream. |
protected void |
resetImpl()
Moves current position back to first non unwinded character without taking care of locations |
protected void |
restartImpl()
|
CharSequence |
subSequence(int start,
int end)
|
String |
toString()
Returns a String representation of the current token |
protected void |
unwindImpl(int l)
Performs unwind operation on buffer without taking care of locations |
CharSequence |
view()
Provides a view of all available tokens. |
Methods inherited from class fr.umlv.tatoo.runtime.buffer.impl.AbstractBufferWrapper |
---|
discard, getLocationProvider, locationClear, next, reset, restart, unwind |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface fr.umlv.tatoo.runtime.buffer.TokenBuffer |
---|
discard |
Constructor Detail |
---|
public ReaderWrapper(Reader reader, LocationTracker tracker)
ReaderWrapper
with default behavior.
reader
- the Reader
to wraptracker
- the location trackerpublic ReaderWrapper(int capacity, int increment, int chunkSize, Reader reader, LocationTracker tracker)
ReaderWrapper
used by the lexer to process the Reader
.
The parameters specify how the underlying buffer which stores data in allocated and reallocated
when more space is needed.
capacity
- the initial capacityincrement
- how much to increment the size of the buffer when more space is requiredchunkSize
- how many bytes are read at once is the inputreader
- the inputMethod Detail |
---|
protected void unwindImpl(int l)
AbstractBufferWrapper
unwindImpl
in class AbstractBufferWrapper
l
- the number of characters to unwindLexerBuffer.unwind(int)
protected void resetImpl()
AbstractBufferWrapper
resetImpl
in class AbstractBufferWrapper
LexerBuffer.reset()
public boolean previousWasNewLine()
LexerBuffer
previousWasNewLine
in interface LexerBuffer
true
if the last unwinded character was an end of line;
false
otherwisepublic boolean hasRemaining()
LexerBuffer
hasRemaining
in interface LexerBuffer
public boolean read() throws IOException
LexerBuffer
SimpleLexer.run()
.
read
in interface LexerBuffer
false
at end of stream
IOException
- if an i/o operation failed.protected int nextImpl()
AbstractBufferWrapper
nextImpl
in class AbstractBufferWrapper
LexerBuffer.next()
public void discardImpl()
discardImpl
in class AbstractBufferWrapper
public CharSequence view()
TokenBuffer
view
in interface TokenBuffer<CharSequence>
public int length()
length
in interface CharSequence
public char charAt(int index)
charAt
in interface CharSequence
public CharSequence subSequence(int start, int end)
subSequence
in interface CharSequence
public String toString()
toString
in interface CharSequence
toString
in class Object
public int lastChar()
LexerBuffer
lastChar
in interface LexerBuffer
protected void restartImpl()
restartImpl
in class AbstractBufferWrapper
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |