Interface SymbolReader


  • public interface SymbolReader
    Encapsulate a stream of Symbols being parsed from some input stream. This allows SymbolList creation to be fully decoupled from stream parsing.
    Since:
    1.1 [newio proposal]
    Author:
    Thomas Down
    • Method Detail

      • getAlphabet

        Alphabet getAlphabet()
        Find the alphabet of all symbols which may be returned by this SymbolReader. NOTE: SymbolList implementations are expected to perform any necessary validation of returned Symbols. Client code should not need to perform any extra validation.
      • readSymbols

        int readSymbols​(Symbol[] buffer,
                        int start,
                        int length)
                 throws IOException,
                        IllegalSymbolException
        Read one or more symbols from the stream.
        Parameters:
        buffer - the destination for read symbols.
        start - a start offset within the buffer.
        length - the maximum number of Symbols to read.
        Returns:
        the number of Symbols which were actually read.
        Throws:
        IOException - if an error occured on the stream, or the end of the stream has already been reached.
        IllegalSymbolException - if a parse error occured.
      • hasMoreSymbols

        boolean hasMoreSymbols()
        Determine if there are more symbols left to read in this stream.