package hudson.plugins.cigame.model; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; /** * Recorded score for a rule and build. * */ @ExportedBean(defaultVisibility=999) public class Score implements Comparable<Score> { private final String rulesetName; private final String ruleName; private final double value; private final String description; public Score(String rulesetName, String ruleName, double points, String pointDescription) { this.rulesetName = rulesetName; this.ruleName = ruleName; this.value = points; description = pointDescription; } @Exported public String getDescription() { if (description == null) { return rulesetName + " - " + ruleName; //$NON-NLS-1$ } return description; } @Exported public String getRulesetName() { return rulesetName; } @Exported public String getRuleName() { return ruleName; } @Exported public double getValue() { return value; } public int compareTo(Score o) { if (value == o.value) { return description.compareToIgnoreCase(o.description); } return (int) Math.round(o.value - value); } }