com.r3corda.contracts.asset / Obligation / Commands

# Commands

`interface Commands : CommandData`

### Types

Exit | `data class Exit<P> : Commands, IssuanceCommands<P>` A command stating that the debt is being released by the beneficiary. Normally would indicate either settlement outside of the ledger, or that the obligor is unable to pay.
Issue | `data class Issue<P> : Commands, IssuanceCommands<P>` Allows new obligation states to be issued into existence: the nonce ("number used once") ensures the transaction has a unique ID even when there are no inputs.
Move | `data class Move<P> : Commands, IssuanceCommands<P>, MoveCommand` A command stating that a debt has been moved, optionally to fulfil another contract.
Net | `data class Net : Commands` Net two or more obligation states together in a close-out netting style. Limited to bilateral netting as only the beneficiary (not the obligor) needs to sign.
SetLifecycle | `data class SetLifecycle<P> : Commands, IssuanceCommands<P>` A command stating that the beneficiary is moving the contract into the defaulted state as it has not been settled by the due date, or resetting a defaulted contract back to the issued state.
Settle | `data class Settle<P> : Commands, IssuanceCommands<P>` A command stating that the obligor is settling some or all of the amount owed by transferring a suitable state object to the beneficiary. If this reduces the balance to zero, the state object is destroyed.

### Inheritors

Exit | `data class Exit<P> : Commands, IssuanceCommands<P>` A command stating that the debt is being released by the beneficiary. Normally would indicate either settlement outside of the ledger, or that the obligor is unable to pay.
Issue | `data class Issue<P> : Commands, IssuanceCommands<P>` Allows new obligation states to be issued into existence: the nonce ("number used once") ensures the transaction has a unique ID even when there are no inputs.
Move | `data class Move<P> : Commands, IssuanceCommands<P>, MoveCommand` A command stating that a debt has been moved, optionally to fulfil another contract.
Net | `data class Net : Commands` Net two or more obligation states together in a close-out netting style. Limited to bilateral netting as only the beneficiary (not the obligor) needs to sign.
SetLifecycle | `data class SetLifecycle<P> : Commands, IssuanceCommands<P>` A command stating that the beneficiary is moving the contract into the defaulted state as it has not been settled by the due date, or resetting a defaulted contract back to the issued state.
Settle | `data class Settle<P> : Commands, IssuanceCommands<P>` A command stating that the obligor is settling some or all of the amount owed by transferring a suitable state object to the beneficiary. If this reduces the balance to zero, the state object is destroyed.