interface SingleClause : Clause, SingleVerify
ifMatched |
abstract val ifMatched: MatchBehaviour Behaviour if this clause is not matches |
ifNotMatched |
abstract val ifNotMatched: MatchBehaviour Behaviour if this clause is matched |
requiredCommands |
abstract val requiredCommands: Set<Class<out CommandData>> Classes for commands which must ALL be present in transaction for this clause to be triggered |
verify |
abstract fun verify(tx: TransactionForContract, commands: Collection<AuthenticatedObject<CommandData>>): Set<CommandData> Verify the transaction matches the conditions from this clause. For example, a "no zero amount output" clause would check each of the output states that it applies to, looking for a zero amount, and throw IllegalStateException if any matched. |
GroupClauseVerifier |
abstract class GroupClauseVerifier<S : ContractState, T : Any> : SingleClause |
InterceptorClause |
data class InterceptorClause : SingleClause A clause which intercepts calls to a wrapped clause, and passes them through verification only from a pre-clause. This is similar to an inceptor in aspect orientated programming. |