Package com.io7m.smfj.serializer.api

## Interface SMFSerializerDataAttributesNonInterleavedType

- All Superinterfaces:
    `java.lang.AutoCloseable`, `java.io.Closeable`
  All Known Implementing Classes:
    `SMFB2SerializerDataAttributesNonInterleaved`

      public interface SMFSerializerDataAttributesNonInterleavedType
      extends java.io.Closeable

  The type of serializers for non-interleaved vertex data.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SMFSerializerDataAttributesValuesType` | `serializeData​(SMFAttributeName name)` | Start serializing data for a single attribute.

    - ### Methods inherited from interface java.io.Closeable

      `close`

- - ### Method Detail

    - #### serializeData

          SMFSerializerDataAttributesValuesType serializeData​(SMFAttributeName name)
                                                       throws java.lang.IllegalArgumentException,
                                                              java.lang.IllegalStateException,
                                                              java.io.IOException

      Start serializing data for a single attribute.

      This method must be called once for each attribute in the header passed to `SMFSerializerType.serializeHeader(com.io7m.smfj.core.SMFHeader)` in the order the attributes are specified by `SMFHeader.attributesInOrder()`.

      If the method raises an exception, the serializer is considered to have failed and all subsequent method calls will raise `IllegalArgumentException`.

      Parameters:
        `name` - The attribute name
      Returns:
        A serializer for the data values
      Throws:
        `java.lang.IllegalArgumentException` - Iff the given attribute is not the next expected attribute
        `java.lang.IllegalStateException` - If too few values have been serialized for the attribute previously passed to this method
        `java.lang.IllegalStateException` - If the header has not yet been serialized
        `java.lang.IllegalStateException` - If the serializer has previously failed
        `java.io.IOException` - On I/O errors