Package com.io7m.smfj.serializer.api

## Interface SMFSerializerProviderType

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

      @ProviderType
      public interface SMFSerializerProviderType

  The type of serializer providers.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SMFSerializerType` | `serializerCreate​(SMFFormatVersion version, java.net.URI uri, java.io.OutputStream stream)` |
    `SMFFormatDescription` | `serializerFormat()` |
    `java.util.SortedSet<SMFFormatVersion>` | `serializerSupportedVersions()` |

- - ### Method Detail

    - #### serializerFormat

          SMFFormatDescription serializerFormat()

      Returns:
        The format that this provider supports

    - #### serializerSupportedVersions

          java.util.SortedSet<SMFFormatVersion> serializerSupportedVersions()

      Returns:
        The supported versions of the format

    - #### serializerCreate

          SMFSerializerType serializerCreate​(SMFFormatVersion version,
                                             java.net.URI uri,
                                             java.io.OutputStream stream)
                                      throws java.lang.UnsupportedOperationException,
                                             java.io.IOException

      Parameters:
        `version` - The format version
        `uri` - The URI referred to by the output stream, for diagnostic messages
        `stream` - An output stream
      Returns:
        A new serializer for the format
      Throws:
        `java.io.IOException` - On I/O errors
        `java.lang.UnsupportedOperationException` - If the given version is not supported