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}