Package com.io7m.cedarbridge.schema.compiled

# Interface CBVariantType

All Superinterfaces:
  `CBTypeDeclarationType`

All Known Implementing Classes:
  `CBTypeDeclarationVariant`

public interface CBVariantType extends CBTypeDeclarationType
A variant type, or algebraic sum type.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<CBVariantCaseType>`
  `cases()`
  `default Map<String,CBVariantCaseType>`
  `casesByName()`
  `default UUID`
  `id()`

  ### Methods inherited from interface com.io7m.cedarbridge.schema.compiled.CBTypeDeclarationType

  `arity, documentation, external, idForType, name, owner, parameters, parametersByName`

- ## Method Details

  - ### cases

    List<CBVariantCaseType> cases()
    Returns:
      The cases of the variant type in declaration order

  - ### casesByName

    default Map<String,CBVariantCaseType> casesByName()
    Returns:
      The cases of the variant by name

  - ### id

    default UUID id()
    Specified by:
      `id` in interface `CBTypeDeclarationType`
    Returns:
      The unique ID of the type