--- /dev/null
+package org.simantics.issues.common;\r
+\r
+import org.simantics.db.Resource;\r
+import org.simantics.issues.Severity;\r
+\r
+\r
+public class SimpleIssue {\r
+ public static final SimpleIssue[] EMPTY_ARRAY = new SimpleIssue[0];\r
+ \r
+ public final String label;\r
+ public final Severity severity;\r
+ // Optional, not used for equals/hashCode\r
+ public final Resource issueResource;\r
+ \r
+ public SimpleIssue(String label, Severity severity) {\r
+ this(label, severity, null);\r
+ }\r
+ \r
+ public SimpleIssue(String label, Severity severity, Resource issueResource) {\r
+ if(label == null)\r
+ throw new NullPointerException();\r
+ if(severity == null)\r
+ throw new NullPointerException();\r
+ this.label = label;\r
+ this.severity = severity;\r
+ this.issueResource = issueResource;\r
+ }\r
+\r
+ @Override\r
+ public int hashCode() {\r
+ return 31*label.hashCode() + severity.hashCode();\r
+ }\r
+\r
+ @Override\r
+ public boolean equals(Object obj) {\r
+ if (this == obj)\r
+ return true;\r
+ if (obj == null)\r
+ return false;\r
+ if (getClass() != obj.getClass())\r
+ return false;\r
+ SimpleIssue other = (SimpleIssue) obj;\r
+ return severity.equals(other.severity) && label.equals(other.label); \r
+ }\r
+}\r