# Interface ProtocolCAIv1Type

All Superinterfaces:
  `com.io7m.cedarbridge.runtime.api.CBProtocolMessageType`, `com.io7m.cedarbridge.runtime.api.CBSerializableType`, `ProtocolCAIType`

All Known Implementing Classes:
  `CAI1CommandAuditSearchBegin`, `CAI1CommandAuditSearchNext`, `CAI1CommandAuditSearchPrevious`, `CAI1CommandFileDelete`, `CAI1CommandFileGet`, `CAI1CommandFilePut`, `CAI1CommandFileSearchBegin`, `CAI1CommandFileSearchNext`, `CAI1CommandFileSearchPrevious`, `CAI1CommandItemAttachmentAdd`, `CAI1CommandItemAttachmentRemove`, `CAI1CommandItemCreate`, `CAI1CommandItemDelete`, `CAI1CommandItemGet`, `CAI1CommandItemMetadataPut`, `CAI1CommandItemMetadataRemove`, `CAI1CommandItemSearchBegin`, `CAI1CommandItemSearchNext`, `CAI1CommandItemSearchPrevious`, `CAI1CommandItemSetName`, `CAI1CommandItemTypesAssign`, `CAI1CommandItemTypesRevoke`, `CAI1CommandLocationAttachmentAdd`, `CAI1CommandLocationAttachmentRemove`, `CAI1CommandLocationDelete`, `CAI1CommandLocationGet`, `CAI1CommandLocationList`, `CAI1CommandLocationMetadataPut`, `CAI1CommandLocationMetadataRemove`, `CAI1CommandLocationPut`, `CAI1CommandLocationTypesAssign`, `CAI1CommandLocationTypesRevoke`, `CAI1CommandLogin`, `CAI1CommandRolesAssign`, `CAI1CommandRolesGet`, `CAI1CommandRolesRevoke`, `CAI1CommandStockCount`, `CAI1CommandStockReposit`, `CAI1CommandStockSearchBegin`, `CAI1CommandStockSearchNext`, `CAI1CommandStockSearchPrevious`, `CAI1CommandTypePackageGetText`, `CAI1CommandTypePackageInstall`, `CAI1CommandTypePackageSearchBegin`, `CAI1CommandTypePackageSearchNext`, `CAI1CommandTypePackageSearchPrevious`, `CAI1CommandTypePackageUninstall`, `CAI1CommandTypePackageUpgrade`, `CAI1EventUpdated`, `CAI1ResponseAuditSearch`, `CAI1ResponseError`, `CAI1ResponseFileDelete`, `CAI1ResponseFileGet`, `CAI1ResponseFilePut`, `CAI1ResponseFileSearch`, `CAI1ResponseItemAttachmentAdd`, `CAI1ResponseItemAttachmentRemove`, `CAI1ResponseItemCreate`, `CAI1ResponseItemDelete`, `CAI1ResponseItemGet`, `CAI1ResponseItemMetadataPut`, `CAI1ResponseItemMetadataRemove`, `CAI1ResponseItemSearch`, `CAI1ResponseItemSetName`, `CAI1ResponseItemTypesAssign`, `CAI1ResponseItemTypesRevoke`, `CAI1ResponseLocationAttachmentAdd`, `CAI1ResponseLocationAttachmentRemove`, `CAI1ResponseLocationDelete`, `CAI1ResponseLocationGet`, `CAI1ResponseLocationList`, `CAI1ResponseLocationMetadataPut`, `CAI1ResponseLocationMetadataRemove`, `CAI1ResponseLocationPut`, `CAI1ResponseLocationTypesAssign`, `CAI1ResponseLocationTypesRevoke`, `CAI1ResponseLogin`, `CAI1ResponseRolesAssign`, `CAI1ResponseRolesGet`, `CAI1ResponseRolesRevoke`, `CAI1ResponseStockCount`, `CAI1ResponseStockReposit`, `CAI1ResponseStockSearch`, `CAI1ResponseTypePackageGetText`, `CAI1ResponseTypePackageInstall`, `CAI1ResponseTypePackageSearch`, `CAI1ResponseTypePackageUninstall`, `CAI1ResponseTypePackageUpgrade`

public sealed interface ProtocolCAIv1Type extends ProtocolCAIType permits CAI1CommandAuditSearchBegin, CAI1CommandAuditSearchNext, CAI1CommandAuditSearchPrevious, CAI1CommandFileDelete, CAI1CommandFileGet, CAI1CommandFilePut, CAI1CommandFileSearchBegin, CAI1CommandFileSearchNext, CAI1CommandFileSearchPrevious, CAI1CommandItemAttachmentAdd, CAI1CommandItemAttachmentRemove, CAI1CommandItemCreate, CAI1CommandItemDelete, CAI1CommandItemGet, CAI1CommandItemMetadataPut, CAI1CommandItemMetadataRemove, CAI1CommandItemSearchBegin, CAI1CommandItemSearchNext, CAI1CommandItemSearchPrevious, CAI1CommandItemSetName, CAI1CommandItemTypesAssign, CAI1CommandItemTypesRevoke, CAI1CommandLocationAttachmentAdd, CAI1CommandLocationAttachmentRemove, CAI1CommandLocationDelete, CAI1CommandLocationGet, CAI1CommandLocationList, CAI1CommandLocationMetadataPut, CAI1CommandLocationMetadataRemove, CAI1CommandLocationPut, CAI1CommandLocationTypesAssign, CAI1CommandLocationTypesRevoke, CAI1CommandLogin, CAI1CommandRolesAssign, CAI1CommandRolesGet, CAI1CommandRolesRevoke, CAI1CommandStockCount, CAI1CommandStockReposit, CAI1CommandStockSearchBegin, CAI1CommandStockSearchNext, CAI1CommandStockSearchPrevious, CAI1CommandTypePackageGetText, CAI1CommandTypePackageInstall, CAI1CommandTypePackageSearchBegin, CAI1CommandTypePackageSearchNext, CAI1CommandTypePackageSearchPrevious, CAI1CommandTypePackageUninstall, CAI1CommandTypePackageUpgrade, CAI1EventUpdated, CAI1ResponseAuditSearch, CAI1ResponseError, CAI1ResponseFileDelete, CAI1ResponseFileGet, CAI1ResponseFilePut, CAI1ResponseFileSearch, CAI1ResponseItemAttachmentAdd, CAI1ResponseItemAttachmentRemove, CAI1ResponseItemCreate, CAI1ResponseItemDelete, CAI1ResponseItemGet, CAI1ResponseItemMetadataPut, CAI1ResponseItemMetadataRemove, CAI1ResponseItemSearch, CAI1ResponseItemSetName, CAI1ResponseItemTypesAssign, CAI1ResponseItemTypesRevoke, CAI1ResponseLocationAttachmentAdd, CAI1ResponseLocationAttachmentRemove, CAI1ResponseLocationDelete, CAI1ResponseLocationGet, CAI1ResponseLocationList, CAI1ResponseLocationMetadataPut, CAI1ResponseLocationMetadataRemove, CAI1ResponseLocationPut, CAI1ResponseLocationTypesAssign, CAI1ResponseLocationTypesRevoke, CAI1ResponseLogin, CAI1ResponseRolesAssign, CAI1ResponseRolesGet, CAI1ResponseRolesRevoke, CAI1ResponseStockCount, CAI1ResponseStockReposit, CAI1ResponseStockSearch, CAI1ResponseTypePackageGetText, CAI1ResponseTypePackageInstall, CAI1ResponseTypePackageSearch, CAI1ResponseTypePackageUninstall, CAI1ResponseTypePackageUpgrade
Protocol `com.io7m.cardant.protocol.inventory.cb.CAI`, version `1`.

- ## Method Summary

  Static Methods
  Modifier and Type
  Method
  Description
  `static ProtocolCAIv1Type`
  `deserialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context)`
  Deserialize a value of type ProtocolCAIv1Type.
  `static void`
  `serialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context, ProtocolCAIv1Type $x)`
  Serialize a value of type ProtocolCAIv1Type.

- ## Method Details

  - ### serialize

    static void serialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context, ProtocolCAIv1Type $x) throws IOException
    Serialize a value of type ProtocolCAIv1Type.
    Parameters:
      `$context` - The serialization context.
      `$x` - The value to be serialized.
    Throws:
      `IOException`

  - ### deserialize

    static ProtocolCAIv1Type deserialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context) throws IOException
    Deserialize a value of type ProtocolCAIv1Type.
    Parameters:
      `$context` - The serialization context.
    Returns:
      A value of type ProtocolCAIv1Type.
    Throws:
      `IOException`