Package com.io7m.smfj.parser.api

## Interface SMFParserEventsType

- All Superinterfaces:
    `SMFParserEventsErrorType`
  All Known Subinterfaces:
    `SMFFCopierType`, `SMFMemoryMeshProducerType`
  All Known Implementing Classes:
    `CommandProbe`, `SMFFCopier`, `SMFMemoryMeshProducer`

      public interface SMFParserEventsType
      extends SMFParserEventsErrorType

  A receiver of parse events.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `onFinish()` | Parsing has finished.
    `void` | `onStart()` | Parsing has started.
    `java.util.Optional<SMFParserEventsHeaderType>` | `onVersionReceived​(SMFFormatVersion version)` | The file format version has been successfully parsed.

    - ### Methods inherited from interface com.io7m.smfj.parser.api.SMFParserEventsErrorType

      `onError, onWarning`

- - ### Method Detail

    - #### onStart

          void onStart()

      Parsing has started.

    - #### onVersionReceived

          java.util.Optional<SMFParserEventsHeaderType> onVersionReceived​(SMFFormatVersion version)

      The file format version has been successfully parsed. The functions should return a receiver for the header information if parsing should continue, or `Optional.empty()` if parsing should stop.
      Parameters:
        `version` - The file format version
      Returns:
        A receiver for the header, if any

    - #### onFinish

          void onFinish()

      Parsing has finished. This method will be called unconditionally when the parser is closed, regardless of any errors encountered.