|
|
|
@ -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);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|