X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fdemoscenemusic%2Fdata%2FDefaultGroup.java;h=57cbf4051cea0b9b3e60d03429d5d5a00d5d97b1;hb=257828c82cfc12f1146387f741ce4c27ab2d94d3;hp=aae28e3909b818827fb88d4e0f8ace064f111175;hpb=7da3008f2142348efd4efc21c5ce36a018227d6e;p=demoscenemusic.git
diff --git a/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultGroup.java b/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultGroup.java
index aae28e3..57cbf40 100644
--- a/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultGroup.java
+++ b/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultGroup.java
@@ -18,18 +18,39 @@
package net.pterodactylus.demoscenemusic.data;
import java.util.Collection;
+import java.util.Comparator;
/**
- * TODO
+ * Default implementation of a group data container.
*
* @author David âBombeâ Roden
*/
public class DefaultGroup extends DefaultBase implements Group {
+ /** Comparator that sorts groups by name. */
+ public static final Comparator NAME_COMPARATOR = new Comparator() {
+
+ @Override
+ public int compare(Group leftGroup, Group rightGroup) {
+ return leftGroup.getName().compareToIgnoreCase(rightGroup.getName());
+ }
+
+ };
+
+ /**
+ * Creates a new group data container.
+ *
+ * @param id
+ * The ID of the group
+ */
public DefaultGroup(String id) {
super(id);
}
+ //
+ // GROUP METHODS
+ //
+
/**
* {@inheritDoc}
*/
@@ -51,35 +72,41 @@ public class DefaultGroup extends DefaultBase implements Group {
* {@inheritDoc}
*/
@Override
- public String getUrl() {
- return getValue("url", String.class).get();
+ @SuppressWarnings("unchecked")
+ public Collection getArtists() {
+ return getValue("artists", Collection.class).get();
}
/**
* {@inheritDoc}
*/
@Override
- public Group setUrl(String url) {
- getValue("url", String.class).set(url);
+ public Group setArtists(Collection artists) {
+ getValue("artists", Collection.class).set(artists);
return this;
}
+ //
+ // OBJECT METHODS
+ //
+
/**
* {@inheritDoc}
*/
@Override
- @SuppressWarnings("unchecked")
- public Collection getArtists() {
- return getValue("artists", Collection.class).get();
+ public int hashCode() {
+ return getId().hashCode();
}
/**
* {@inheritDoc}
*/
@Override
- public Group setArtists(Collection artists) {
- getValue("artists", Collection.class).set(artists);
- return this;
+ public boolean equals(Object object) {
+ if (!(object instanceof Group)) {
+ return false;
+ }
+ return ((Group) object).getId().equals(getId());
}
}