Package com.io7m.cedarbridge.schema.compiled

# Interface CBProtocolDeclarationType

All Known Implementing Classes:
  `CBProtocolDeclaration`

public interface CBProtocolDeclarationType
The base type of protocol declarations.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<String>`
  `documentation()`
  `default UUID`
  `id()`
  `String`
  `name()`
  `CBPackageType`
  `owner()`
  `default List<CBProtocolVersionDeclarationType>`
  `protocolVersionsForType(CBTypeDeclarationType type)`
  Find all protocol versions to which the given type belongs.
  `Map<BigInteger,CBProtocolVersionDeclarationType>`
  `versions()`

- ## Method Details

  - ### owner

    CBPackageType owner()
    Returns:
      The package that owns this declaration

  - ### name

    String name()
    Returns:
      The package-unique declaration name

  - ### versions

    Map<BigInteger,CBProtocolVersionDeclarationType> versions()
    Returns:
      The protocols by version

  - ### protocolVersionsForType

    default List<CBProtocolVersionDeclarationType> protocolVersionsForType(CBTypeDeclarationType type)
    Find all protocol versions to which the given type belongs.
    Parameters:
      `type` - The type
    Returns:
      The protocol versions

  - ### id

    default UUID id()
    Returns:
      The unique ID of the protocol

  - ### documentation

    List<String> documentation()
    Returns:
      Documentation for the protocol declaration