Interface Scanner

All Superinterfaces:
Iterator<Token>
All Known Implementing Classes:
ScannerImpl

public interface Scanner extends Iterator<Token>
This interface represents an input stream of Tokens.

The scanner and the parser form together the 'Parse' step in the loading process.

See Also:
  • Method Details

    • checkToken

      boolean checkToken(Token.ID... choices)
      Check if the next token is one of the given types.
      Parameters:
      choices - token IDs to match with
      Returns:
      true if the next token is one of the given types. Returns false if no more tokens are available.
      Throws:
      ScannerException - Thrown in case of malformed input.
    • peekToken

      Token peekToken()
      Return the next token, but do not delete it from the stream.
      Returns:
      The token that will be returned on the next call to next()
      Throws:
      ScannerException - Thrown in case of malformed input.
      IndexOutOfBoundsException - if no more token left
    • next

      Token next()
      Returns the next token.

      The token will be removed from the stream. (Every invocation of this method must happen after calling either checkToken(org.snakeyaml.engine.v2.tokens.Token.ID...) or peekToken()

      Specified by:
      next in interface Iterator<Token>
      Returns:
      the coming token
      Throws:
      ScannerException - Thrown in case of malformed input.
      IndexOutOfBoundsException - if no more token left
    • resetDocumentIndex

      void resetDocumentIndex()
      Set the document index to 0 after a document end