|
|
@ -2,32 +2,36 @@ package fr.mieuxvoter.mj; |
|
|
|
|
|
|
|
import java.math.BigInteger; |
|
|
|
|
|
|
|
/** |
|
|
|
* Also known as the merit profile of a proposal (aka. candidate), |
|
|
|
* this holds the amounts of judgments received per grade. |
|
|
|
*/ |
|
|
|
public interface ProposalTallyInterface { |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* The tallies of each Grade, that is |
|
|
|
* the amount of judgments received for each Grade by the Proposal, |
|
|
|
* from "worst" ("most conservative") Grade to "best" Grade. |
|
|
|
*/ |
|
|
|
public BigInteger[] getTally(); |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Should be the sum of getTally() |
|
|
|
* |
|
|
|
* @return The total amount of judgments received by this proposal. |
|
|
|
*/ |
|
|
|
public BigInteger getAmountOfJudgments(); |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Homemade factory to skip the clone() shenanigans. |
|
|
|
* Used by the score calculus. |
|
|
|
*/ |
|
|
|
public ProposalTallyInterface duplicate(); |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Move judgments that were fromGrade into intoGrade. |
|
|
|
* Used by the score calculus. |
|
|
|
*/ |
|
|
|
public void moveJudgments(Integer fromGrade, Integer intoGrade); |
|
|
|
|
|
|
|
|
|
|
|
} |