Add TODO.
[demoscenemusic.git] / src / main / java / net / pterodactylus / demoscenemusic / data / Group.java
index 292eb21..054b303 100644 (file)
 
 package net.pterodactylus.demoscenemusic.data;
 
+import java.util.Collection;
+
 /**
- * TODO
+ * Data interface for groups.
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
-public class Group {
-
-       private final String id;
-       private String name;
-       private String url;
+public interface Group extends Base {
 
-       public Group(String id) {
-               this.id = id;
-       }
+       /**
+        * Returns the name of this group.
+        *
+        * @return The name of this group
+        */
+       public String getName();
 
-       public String id() {
-               return id;
-       }
+       /**
+        * Sets the name of this group.
+        *
+        * @param name
+        *            The name of this group
+        * @return This group
+        */
+       public Group setName(String name);
 
-       public String name() {
-               return name;
-       }
+       /**
+        * Returns the URL of this group’s website.
+        *
+        * @return The URL of this group’s website
+        */
+       public String getUrl();
 
-       public Group name(String name) {
-               this.name = name;
-               return this;
-       }
+       /**
+        * Sets the URL of this group’s website.
+        *
+        * @param url
+        *            The URL of this group’s website
+        * @return This group
+        */
+       public Group setUrl(String url);
 
-       public String url() {
-               return url;
-       }
+       /**
+        * Returns all artists belonging to this group.
+        *
+        * @return All artists belonging to this group
+        */
+       public Collection<Artist> getArtists();
 
-       public Group url(String url) {
-               this.url = url;
-               return this;
-       }
+       /**
+        * Sets all artists belonging to this group.
+        *
+        * @param artists
+        *            All artists belonging to this group
+        * @return This group
+        */
+       public Group setArtists(Collection<Artist> artists);
 
 }