Package com.io7m.cedarbridge.runtime.api

# Interface CBSerializerFactoryType<T extends CBSerializableType>

Type Parameters:
  `T` - The type of serialized values

All Known Implementing Classes:
  `CBAbstractSerializerFactory`, `CBBooleanSerializers`, `CBByteArraySerializers`, `CBFloat16Serializers`, `CBFloat32Serializers`, `CBFloat64Serializers`, `CBIntegerSigned16Serializers`, `CBIntegerSigned32Serializers`, `CBIntegerSigned64Serializers`, `CBIntegerSigned8Serializers`, `CBIntegerUnsigned16Serializers`, `CBIntegerUnsigned32Serializers`, `CBIntegerUnsigned64Serializers`, `CBIntegerUnsigned8Serializers`, `CBListSerializers`, `CBMapEntrySerializers`, `CBMapSerializers`, `CBOptionSerializers`, `CBStringSerializers`

@ProviderType public interface CBSerializerFactoryType<T extends CBSerializableType>
A serializer factory.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `CBSerializerType<T>`
  `create(CBSerializerDirectoryType directory, List<CBTypeArgument> arguments)`
  Create a new serializer, instantiating it with the given type arguments.
  `CBQualifiedTypeName`
  `typeName()`
  Declare the type name of the type.
  `default List<String>`
  `typeParameters()`
  Declare the parameters of the type.

- ## Method Details

  - ### typeName

    CBQualifiedTypeName typeName()
    Declare the type name of the type. This must be a valid Cedarbridge qualified type name, and is the name used to refer to the type from other Cedarbridge type declarations.
    Returns:
      The type name of the type

  - ### typeParameters

    default List<String> typeParameters()
    Declare the parameters of the type. The names must be valid Cedarbridge type parameter names.
    Returns:
      The parameters of the type, in declaration order

  - ### create

    CBSerializerType<T> create(CBSerializerDirectoryType directory, List<CBTypeArgument> arguments)
    Create a new serializer, instantiating it with the given type arguments.
    Parameters:
      `directory` - The directory of available serializers
      `arguments` - The arguments
    Returns:
      A new serializer