Add short name to groups.
[demoscenemusic.git] / src / main / java / net / pterodactylus / demoscenemusic / data / Group.java
index 292eb21..08ce879 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 short name of this group.
+        *
+        * @return The short name of this group, or {@code null} if this group does
+        *         not have a short name
+        */
+       public String getShortName();
 
-       public Group name(String name) {
-               this.name = name;
-               return this;
-       }
+       /**
+        * Sets the short name of this group.
+        *
+        * @param shortName
+        *            The new short name of this group
+        * @return This group
+        */
+       public Group setShortName(String shortName);
 
-       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);
 
 }