package org.intellij.sonar.index; import com.google.common.base.Objects; import com.intellij.util.xmlb.annotations.Transient; public class SonarIssue implements Comparable { private String key; private String ruleKey; private Integer line; private String message; private String severity; private Boolean isNew; public SonarIssue() { } public SonarIssue(String key,String ruleKey,Integer line,String message,String severity,Boolean isNew) { this.key = key; this.ruleKey = ruleKey; this.severity = severity; this.message = message; this.line = line; this.isNew = isNew; } @Transient public String formattedMessage() { return String.format("[%s] %s",this.severity,this.message); } public String getKey() { return key; } public void setKey(String key) { this.key = key; } public String getRuleKey() { return ruleKey; } public void setRuleKey(String ruleKey) { this.ruleKey = ruleKey; } public Integer getLine() { return line; } public void setLine(Integer line) { this.line = line; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public String getSeverity() { return severity; } public void setSeverity(String severity) { this.severity = severity; } public Boolean getIsNew() { return isNew; } public void setIsNew(Boolean isNew) { this.isNew = isNew; } @SuppressWarnings("RedundantIfStatement") @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SonarIssue that = (SonarIssue) o; if (isNew != null ? !isNew.equals(that.isNew) : that.isNew != null) return false; if (line != null ? !line.equals(that.line) : that.line != null) return false; if (message != null ? !message.equals(that.message) : that.message != null) return false; if (severity != null ? !severity.equals(that.severity) : that.severity != null) return false; return true; } @Override public int hashCode() { int result = line != null ? line.hashCode() : 0; result = 31 * result+(message != null ? message.hashCode() : 0); result = 31 * result+(severity != null ? severity.hashCode() : 0); result = 31 * result+(isNew != null ? isNew.hashCode() : 0); return result; } @Override public int compareTo(Object that) { return Objects.equal(this,that) ? 0 : -1; } }