package net.pterodactylus.demoscenemusic.data;
+import java.util.Collection;
+
/**
- * TODO
+ * Data interface for artists.
*
* @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
-public class Artist extends AbstractBase {
+public interface Artist extends Base {
+
+ /**
+ * Returns the name of this artist.
+ *
+ * @return The name of this artist
+ */
+ public String getName();
+
+ /**
+ * Sets the name of this artist.
+ *
+ * @param name
+ * The new name of this artist
+ * @return This artist
+ */
+ public Artist setName(String name);
- private String name;
+ /**
+ * Returns the groups this artist belongs to.
+ *
+ * @return The groups this artist belongs to
+ */
+ public Collection<Group> getGroups();
- public Artist(String id) {
- super(id);
- }
+ /**
+ * Sets the groups this artist belongs to.
+ *
+ * @param groups
+ * The groups this artist belongs to
+ * @return This artist
+ */
+ public Artist setGroups(Collection<Group> groups);
- public String name() {
- return name;
- }
+ /**
+ * Returns the tracks created by this artist.
+ *
+ * @return The tracks created by this artist
+ */
+ public Collection<Track> getTracks();
- public Artist name(String name) {
- this.name = name;
- return this;
- }
+ /**
+ * Sets the tracks created by this artist.
+ *
+ * @param tracks
+ * The tracks created by this artist
+ * @return This artist
+ */
+ public Artist setTracks(Collection<Track> tracks);
}