package net.pterodactylus.demoscenemusic.data;
import java.util.Collection;
+import java.util.Comparator;
/**
- * TODO
+ * Default implementation for an artist data container.
*
* @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
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.
+ *
+ * @param id
+ * The ID of the artist
+ */
public DefaultArtist(String id) {
super(id);
}
+ //
+ // ARTIST METHODS
+ //
+
+ /**
+ * {@inheritDoc}
+ */
@Override
public String getName() {
return getValue("name", String.class).get();
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public Artist setName(String name) {
getValue("name", String.class).set(name);
return this;
}
+ /**
+ * {@inheritDoc}
+ */
@Override
@SuppressWarnings({ "unchecked" })
public Collection<Track> getTracks() {
return getValue("tracks", Collection.class).get();
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public Artist setTracks(Collection<Track> tracks) {
getValue("tracks", Collection.class).set(tracks);