Package com.io7m.smfj.format.text.v1
Class SMFTV1Serializer
- java.lang.Object
-
- com.io7m.smfj.format.text.v1.SMFTV1Serializer
-
- All Implemented Interfaces:
SMFSerializerType
,java.io.Closeable
,java.lang.AutoCloseable
public final class SMFTV1Serializer extends java.lang.Object implements SMFSerializerType
A serializer.
-
-
Constructor Summary
Constructors Constructor Description SMFTV1Serializer(SMFFormatVersion in_version, java.net.URI in_uri, java.io.OutputStream in_stream)
Construct a serializer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
serializeHeader(SMFHeader in_header)
Serialize the header data.void
serializeMetadata(SMFSchemaIdentifier schema, byte[] data)
Serialize one item of metadata.SMFSerializerDataTrianglesType
serializeTrianglesStart()
Start serializing triangles.SMFSerializerDataAttributesNonInterleavedType
serializeVertexDataNonInterleavedStart()
Start serializing non-interleaved vertex data.
-
-
-
Constructor Detail
-
SMFTV1Serializer
public SMFTV1Serializer(SMFFormatVersion in_version, java.net.URI in_uri, java.io.OutputStream in_stream)
Construct a serializer.- Parameters:
in_version
- The format versionin_uri
- The URI of the target, for diagnostic purposesin_stream
- An output stream
-
-
Method Detail
-
serializeHeader
public void serializeHeader(SMFHeader in_header) throws java.io.IOException
Description copied from interface:SMFSerializerType
Serialize the header data.
- Specified by:
serializeHeader
in interfaceSMFSerializerType
- Parameters:
in_header
- The header- Throws:
java.io.IOException
- On I/O errors
-
serializeVertexDataNonInterleavedStart
public SMFSerializerDataAttributesNonInterleavedType serializeVertexDataNonInterleavedStart() throws java.io.IOException
Description copied from interface:SMFSerializerType
Start serializing non-interleaved vertex data.
If the method raises an exception, the serializer is considered to have failed and all subsequent method calls will raise
IllegalArgumentException
.- Specified by:
serializeVertexDataNonInterleavedStart
in interfaceSMFSerializerType
- Returns:
- A serializer for non-interleaved vertex data values
- Throws:
java.io.IOException
- On I/O errors
-
serializeTrianglesStart
public SMFSerializerDataTrianglesType serializeTrianglesStart() throws java.io.IOException
Description copied from interface:SMFSerializerType
Start serializing triangles.
- Specified by:
serializeTrianglesStart
in interfaceSMFSerializerType
- Returns:
- A serializer for triangles
- Throws:
java.io.IOException
- On I/O errors
-
serializeMetadata
public void serializeMetadata(SMFSchemaIdentifier schema, byte[] data) throws java.lang.IllegalStateException, java.io.IOException
Description copied from interface:SMFSerializerType
Serialize one item of metadata.
- Specified by:
serializeMetadata
in interfaceSMFSerializerType
- Parameters:
schema
- The schema IDdata
- The data- Throws:
java.lang.IllegalStateException
- If the header has not yet been serializedjava.io.IOException
- On I/O errors
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
-