FileDocCategorySizeDatePackage
CharBuffer.javaAPI DocGlassfish v2 API1698Wed Aug 30 15:34:04 BST 2006persistence.antlr

CharBuffer

public class CharBuffer extends InputBuffer
A Stream of characters fed to the lexer from a InputStream that can be rewound via mark()/rewind() methods.

A dynamic array is used to buffer up all the input characters. Normally, "k" characters are stored in the buffer. More characters may be stored during guess mode (testing syntactic predicate), or when LT(i>k) is referenced. Consumption of characters is deferred. In other words, reading the next character is not done by conume(), but deferred until needed by LA or LT.

see
persistence.antlr.CharQueue

Fields Summary
transient Reader
input
Constructors Summary
public CharBuffer(Reader input_)
Create a character buffer

 // SAS: for proper text i/o
        super();
        input = input_;
    
Methods Summary
public voidfill(int amount)
Ensure that the character buffer is sufficiently full

        try {
            syncConsume();
            // Fill the buffer sufficiently to hold needed characters
            while (queue.nbrEntries < amount + markerOffset) {
                // Append the next character
                queue.append((char)input.read());
            }
        }
        catch (IOException io) {
            throw new CharStreamIOException(io);
        }