Package com.io7m.cedarbridge.runtime.api

# Class CBProtocolSerializerCollection<T extends CBProtocolMessageType>

java.lang.Object
com.io7m.cedarbridge.runtime.api.CBProtocolSerializerCollection<T>

Type Parameters:
  `T` - The type of serialized protocol messages

All Implemented Interfaces:
  `CBProtocolSerializerCollectionType<T>`

public final class CBProtocolSerializerCollection<T extends CBProtocolMessageType> extends Object implements CBProtocolSerializerCollectionType<T>
The default implementation of the `CBProtocolSerializerCollectionType` interface.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static <T extends CBProtocolMessageType>
  CBProtocolSerializerCollectionBuilderType<T>`
  `builder(UUID id)`
  `List<CBProtocolSerializerFactoryType<T>>`
  `factories()`
  `UUID`
  `id()`
  `long`
  `versionLower()`
  `long`
  `versionUpper()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface com.io7m.cedarbridge.runtime.api.CBProtocolSerializerCollectionType

  `checkSupportedVersion, find, find, findOrThrow, findOrThrow, highestSupportedVersion`

- ## Method Details

  - ### builder

    public static <T extends CBProtocolMessageType> CBProtocolSerializerCollectionBuilderType<T> builder(UUID id)
    Type Parameters:
      `T` - The type of serialized protocol messages
    Parameters:
      `id` - The protocol ID
    Returns:
      A new collection builder

  - ### id

    public UUID id()
    Specified by:
      `id` in interface `CBProtocolSerializerCollectionType<T extends CBProtocolMessageType>`
    Returns:
      The protocol ID

  - ### versionLower

    public long versionLower()
    Specified by:
      `versionLower` in interface `CBProtocolSerializerCollectionType<T extends CBProtocolMessageType>`
    Returns:
      The lowest supported protocol version

  - ### versionUpper

    public long versionUpper()
    Specified by:
      `versionUpper` in interface `CBProtocolSerializerCollectionType<T extends CBProtocolMessageType>`
    Returns:
      The highest supported protocol version

  - ### factories

    public List<CBProtocolSerializerFactoryType<T>> factories()
    Specified by:
      `factories` in interface `CBProtocolSerializerCollectionType<T extends CBProtocolMessageType>`
    Returns:
      The list of protocol serializers