Override Object.hashCode() and Object.equals().
[demoscenemusic.git] / src / main / java / net / pterodactylus / demoscenemusic / data / DefaultArtist.java
index 7f99a9c..151aeca 100644 (file)
@@ -18,6 +18,7 @@
 package net.pterodactylus.demoscenemusic.data;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 /**
  * Default implementation for an artist data container.
@@ -26,6 +27,15 @@ import java.util.Collection;
  */
 public class DefaultArtist extends DefaultBase implements Artist {
 
+       /** Comparator that sorts artists by name. */
+       public static final Comparator<Artist> NAME_COMPARATOR = new Comparator<Artist>() {
+
+               @Override
+               public int compare(Artist leftArtist, Artist rightArtist) {
+                       return leftArtist.getName().compareToIgnoreCase(rightArtist.getName());
+               }
+       };
+
        /**
         * Creates a new artist data container.
         *
@@ -93,4 +103,27 @@ public class DefaultArtist extends DefaultBase implements Artist {
                return this;
        }
 
+       //
+       // OBJECT METHODS
+       //
+
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public int hashCode() {
+               return getId().hashCode();
+       }
+
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public boolean equals(Object object) {
+               if (!(object instanceof Artist)) {
+                       return false;
+               }
+               return ((Artist) object).getId().equals(getId());
+       }
+
 }