package design.model.holeplay; public class HoleCompleteState implements HoleState { @Override public void enter(HolePlayContext ctx) { /* compute summaries if needed */ } @Override public void handleStart(HolePlayContext ctx) { // optional: treat this as “Next Hole” ctx.setState(new SetupState()); } @Override public void handleShot(HolePlayContext ctx, design.model.Club club, Integer distanceYds) { throw new IllegalStateException("Hole is complete; start next hole."); } @Override public void handleHoleOut(HolePlayContext ctx) { throw new IllegalStateException("Already holed out."); } @Override public String name() { return "HoleCompleteState"; } }