]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/Certificate.java
Enhance certificate issuance form.
[gigi.git] / src / org / cacert / gigi / Certificate.java
index f06247cfda90c1ca7628fade6e6b3d841b716cfc..433e60e49b62a5bc6a97444d3ff7f1c104622c59 100644 (file)
@@ -38,7 +38,7 @@ public class Certificate {
         }
     }
 
-    public static class SubjectAlternateName {
+    public static class SubjectAlternateName implements Comparable<SubjectAlternateName> {
 
         private SANType type;
 
@@ -57,6 +57,49 @@ public class Certificate {
             return type;
         }
 
+        @Override
+        public int compareTo(SubjectAlternateName o) {
+            int i = type.compareTo(o.type);
+            if (i != 0) {
+                return i;
+            }
+            return name.compareTo(o.name);
+        }
+
+        @Override
+        public int hashCode() {
+            final int prime = 31;
+            int result = 1;
+            result = prime * result + ((name == null) ? 0 : name.hashCode());
+            result = prime * result + ((type == null) ? 0 : type.hashCode());
+            return result;
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (this == obj) {
+                return true;
+            }
+            if (obj == null) {
+                return false;
+            }
+            if (getClass() != obj.getClass()) {
+                return false;
+            }
+            SubjectAlternateName other = (SubjectAlternateName) obj;
+            if (name == null) {
+                if (other.name != null) {
+                    return false;
+                }
+            } else if ( !name.equals(other.name)) {
+                return false;
+            }
+            if (type != other.type) {
+                return false;
+            }
+            return true;
+        }
+
     }
 
     public enum CSRType {