Interface Exercises.Archivable<Cmd>

All Superinterfaces:
Exercises<Cmd>
Enclosing interface:
Exercises<Cmd>

public static interface Exercises.Archivable<Cmd> extends Exercises<Cmd>
Adds exerciseArchive() to every exercise target.

The goal is to correct the problem of having ContractId implement Exercises.makeExerciseCmd(com.daml.ledger.javaapi.data.codegen.Choice<?, ? super A, R>, A) directly. That was a mistake, but one at least obviated by the fact that Exercises.makeExerciseCmd(com.daml.ledger.javaapi.data.codegen.Choice<?, ? super A, R>, A) is clearly part of the internal API, so if you use it directly anyway and you get weird exceptions, you get to keep both pieces of your program. With exerciseArchive() we can correct the problem by having Exercises.Archivable be the real Exercises interface, and the distinction can be flattened when breaking compatibility.