001package gudusoft.gsqlparser.pp.score;
002
003/** One entry of the ranked improvement list: fix every fixable finding of {@code rule} and gain about {@code estGain} total points. */
004public final class Improvement {
005    private final int rank;
006    private final String rule;
007    private final int count;
008    private final double estGain;
009    private final String target;
010
011    public Improvement(int rank, String rule, int count, double estGain, String target) {
012        if (rule == null) throw new NullPointerException("rule");
013        this.rank = rank;
014        this.rule = rule;
015        this.count = count;
016        this.estGain = estGain;
017        this.target = target == null ? "" : target;
018    }
019
020    public int getRank() { return rank; }
021    public String getRule() { return rule; }
022    /** Number of fixable, non-shadowed findings behind this entry. */
023    public int getCount() { return count; }
024    /** Estimated total-score gain (dimension impact x dimension weight). */
025    public double getEstGain() { return estGain; }
026    /** Formatter option / renderer component the rule maps to (see {@code OptionAdvisor}). */
027    public String getTarget() { return target; }
028}