com.r3corda.contracts.asset / Obligation / Clauses

# Clauses

`interface Clauses`

### Types

ConserveAmount | `class ConserveAmount<P> : AbstractConserveAmount<State<P>, Commands, Terms<P>>` Generic move/exit clause for fungible assets
Group | `class Group<P> : GroupClauseVerifier<State<P>, Commands, Issued<Terms<P>>>` Parent clause for clauses that operate on grouped states (those which are fungible).
Issue | `class Issue<P> : AbstractIssue<State<P>, Commands, Terms<P>>` Generic issuance clause
Net | `class Net<C : CommandData, P> : NetClause<C, P>` Clause for supporting netting of obligations.
SetLifecycle | `class SetLifecycle<P> : ConcreteClause<State<P>, Commands, Issued<Terms<P>>>` Obligation-specific clause for changing the lifecycle of one or more states.
Settle | `class Settle<P> : ConcreteClause<State<P>, Commands, Issued<Terms<P>>>` Obligation-specific clause for settling an outstanding obligation by witnessing change of ownership of other states to fulfil
VerifyLifecycle | `class VerifyLifecycle<S : ContractState, C : CommandData, T : Any, P> : ConcreteClause<S, C, T>` Obligation-specific clause for verifying that all states are in normal lifecycle. In a group clause set, this must be run after any lifecycle change clause, which is the only clause that involve non-standard lifecycle states on input/output.