Package com.io7m.cedarbridge.schema.compiled

# Interface CBTypeDeclarationBuilderType

All Known Subinterfaces:
  `CBRecordBuilderType`, `CBVariantBuilderType`

public interface CBTypeDeclarationBuilderType
The base type of type declaration builders.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `CBTypeParameterType`
  `addTypeParameter(String name, List<String> documentation)`
  Add a type parameter.
  `CBTypeParameterType`
  `findParameter(String name)`
  Find an existing parameter with the given name.
  `CBPackageBuilderType`
  `ownerPackage()`
  `CBTypeExpressionType.CBTypeExprNamedType`
  `reference()`
  `CBTypeExpressionType.CBTypeExprParameterType`
  `referenceParameter(String name)`
  Reference an existing parameter with the given name.
  `void`
  `setDocumentation(List<String> text)`
  Set the documentation string for the declaration.
  `void`
  `setExternalName(String externalPackageName, String name)`
  Set the external type of this name

- ## Method Details

  - ### ownerPackage

    CBPackageBuilderType ownerPackage()
    Returns:
      The package that owns the type

  - ### reference

    CBTypeExpressionType.CBTypeExprNamedType reference()
    Returns:
      A reference to this type

  - ### findParameter

    CBTypeParameterType findParameter(String name)
    Find an existing parameter with the given name.
    Parameters:
      `name` - The parameter name
    Returns:
      A parameter

  - ### referenceParameter

    CBTypeExpressionType.CBTypeExprParameterType referenceParameter(String name)
    Reference an existing parameter with the given name.
    Parameters:
      `name` - The parameter name
    Returns:
      A parameter expression

  - ### addTypeParameter

    CBTypeParameterType addTypeParameter(String name, List<String> documentation)
    Add a type parameter.
    Parameters:
      `name` - The parameter name
      `documentation` - The documentation
    Returns:
      A type parameter

  - ### setDocumentation

    void setDocumentation(List<String> text)
    Set the documentation string for the declaration.
    Parameters:
      `text` - The text

  - ### setExternalName

    void setExternalName(String externalPackageName, String name)
    Set the external type of this name
    Parameters:
      `externalPackageName` - The package name
      `name` - The type name