net.corda.contracts.asset

## Interface CommodityContract.Clauses

- Enclosing class:
    CommodityContract

      public static CommodityContract.Clauses

  The clauses for this contract are essentially:

  1. Group all commodity input and output states in a transaction by issued commodity, and then for each group: a. Check there are no zero sized output states in the group, and throw an error if so. b. Check for an issuance command, and do standard issuance checks if so, THEN STOP. Otherwise: c. Check for a move command (required) and an optional exit command, and that input and output totals are correctly conserved (output = input - exit)

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `Clauses.ConserveAmount` Standard clause for conserving the amount from input to output.
    `static class` | `Clauses.Group` Grouping clause to extract input and output states into matched groups and then run a set of clauses over each group.
    `static class` | `Clauses.Issue` Standard issue clause, specialised to match the commodity issue command.