X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fdemoscenemusic%2Fdata%2FDefaultArtist.java;h=4d359aa40e104d93d125de053566b14504349ee5;hb=6044000b16b448b4f1f6df4dd9b101ceed2397ac;hp=4b7b5effb6006e4ce13c6f41cc6912ce41a2bb8b;hpb=6d10c7b00bdadf78b5045fbd5e9a869e8f257ed7;p=demoscenemusic.git diff --git a/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultArtist.java b/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultArtist.java index 4b7b5ef..4d359aa 100644 --- a/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultArtist.java +++ b/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultArtist.java @@ -18,51 +18,88 @@ package net.pterodactylus.demoscenemusic.data; import java.util.Collection; -import java.util.Set; +import java.util.Comparator; /** - * TODO + * Default implementation for an artist data container. * * @author David ‘Bombe’ Roden */ public class DefaultArtist extends DefaultBase implements Artist { + /** Comparator that sorts artists by name. */ + public static final Comparator NAME_COMPARATOR = new Comparator() { + + @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); } - public String name() { - return value("name", String.class).get(); + // + // ARTIST METHODS + // + + /** + * {@inheritDoc} + */ + @Override + public String getName() { + return getValue("name", String.class).get(); } - public Artist name(String name) { - value("name", String.class).set(name); + /** + * {@inheritDoc} + */ + @Override + public Artist setName(String name) { + getValue("name", String.class).set(name); return this; } /** * {@inheritDoc} */ + @Override @SuppressWarnings("unchecked") - public Set groups() { - return value("groups", Set.class).get(); + public Collection getGroups() { + return getValue("groups", Collection.class).get(); } /** * {@inheritDoc} */ - public Artist groups(Set groups) { - value("groups", Set.class).set(groups); + @Override + public Artist setGroups(Collection groups) { + getValue("groups", Collection.class).set(groups); return this; } - public Collection tracks() { - return value("tracks", Collection.class).get(); + /** + * {@inheritDoc} + */ + @Override + @SuppressWarnings({ "unchecked" }) + public Collection getTracks() { + return getValue("tracks", Collection.class).get(); } + /** + * {@inheritDoc} + */ @Override - public Artist tracks(Collection tracks) { - value("tracks", Collection.class).set(tracks); + public Artist setTracks(Collection tracks) { + getValue("tracks", Collection.class).set(tracks); return this; }