1 package civitas.common.ballot;
2
3 import org.springframework.beans.factory.annotation.Autowired;
4 import org.springframework.stereotype.Controller;
5
6 import civitas.common.VoteChoice;
7 import civitas.common.ballotdesign.CalculatePositionInBallot;
8 import jakarta.annotation.Nonnull;
9
10 @Controller
11 public class RecordOnePairInBallot {
12
13 @Autowired
14 CalculatePositionInBallot calculatePositionInBallot;
15
16 public void apply(@Nonnull final Ballot that, final int i, final int j, final VoteChoice voteChoice) {
17 if (0 > i || i >= j || j >= that.k) {
18 throw new IllegalArgumentException();
19 }
20 that.matrix[calculatePositionInBallot.apply(i, j, that.k)] = voteChoice;
21 }
22 }