FileDocCategorySizeDatePackage
ByteBuffer.javaAPI DocGlassfish v2 API1609Wed Aug 30 15:34:04 BST 2006persistence.antlr

ByteBuffer

public class ByteBuffer 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 InputStream
input
Constructors Summary
public ByteBuffer(InputStream input_)
Create a character buffer

        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);
        }