Package com.io7m.smfj.parser.api

## Interface SMFParserProviderType

- All Known Implementing Classes:
    `SMFFormatBinary2`, `SMFFormatOBJ`, `SMFFormatText`, `SMFFormatXML`

      @ProviderType
      public interface SMFParserProviderType

  The type of parser providers.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SMFParserRandomAccessType` | `parserCreateRandomAccess​(SMFParserEventsType events, java.net.URI uri, java.nio.channels.FileChannel file)` |
    `SMFParserSequentialType` | `parserCreateSequential​(SMFParserEventsType events, java.net.URI uri, java.io.InputStream stream)` |
    `SMFFormatDescription` | `parserFormat()` |
    `java.util.SortedSet<SMFFormatVersion>` | `parserSupportedVersions()` |

- - ### Method Detail

    - #### parserFormat

          SMFFormatDescription parserFormat()

      Returns:
        The format that this provider supports

    - #### parserSupportedVersions

          java.util.SortedSet<SMFFormatVersion> parserSupportedVersions()

      Returns:
        The supported versions of the format

    - #### parserCreateSequential

          SMFParserSequentialType parserCreateSequential​(SMFParserEventsType events,
                                                         java.net.URI uri,
                                                         java.io.InputStream stream)
                                                  throws java.lang.UnsupportedOperationException

      Parameters:
        `events` - The event receiver
        `uri` - The URI referred to by the input stream, for diagnostic messages
        `stream` - An input stream
      Returns:
        A new parser for the format
      Throws:
        `java.lang.UnsupportedOperationException` - If sequential parsing is not supported
      See Also:
        `SMFFormatDescription.randomAccess()`

    - #### parserCreateRandomAccess

          SMFParserRandomAccessType parserCreateRandomAccess​(SMFParserEventsType events,
                                                             java.net.URI uri,
                                                             java.nio.channels.FileChannel file)
                                                      throws java.lang.UnsupportedOperationException

      Parameters:
        `events` - The event receiver
        `uri` - The URI referred to by the input stream, for diagnostic messages
        `file` - A file channel
      Returns:
        A new parser for the format
      Throws:
        `java.lang.UnsupportedOperationException` - If random-access parsing is not supported
      See Also:
        `SMFFormatDescription.randomAccess()`