X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fdemoscenemusic%2Fdata%2FTrack.java;h=332132a4b27a6f29c846f3b6be38e831a8fe173b;hb=b2ab3fd2aefa2815f8c55b5b0e8b8d2eb912a192;hp=ace6bd349eecde12a1ac3d25b4f00d4777d79500;hpb=7da3008f2142348efd4efc21c5ce36a018227d6e;p=demoscenemusic.git
diff --git a/src/main/java/net/pterodactylus/demoscenemusic/data/Track.java b/src/main/java/net/pterodactylus/demoscenemusic/data/Track.java
index ace6bd3..332132a 100644
--- a/src/main/java/net/pterodactylus/demoscenemusic/data/Track.java
+++ b/src/main/java/net/pterodactylus/demoscenemusic/data/Track.java
@@ -19,24 +19,147 @@ package net.pterodactylus.demoscenemusic.data;
import java.util.Collection;
import java.util.List;
+import java.util.Map;
/**
- * TODO
+ * Data interface for tracks.
*
* @author David âBombeâ Roden
*/
public interface Track extends Base {
+ /**
+ * Defines relationships between tracks.
+ *
+ * @author David âBombeâ Roden
+ */
+ public enum Relationship {
+
+ /** The track is the original of a related track. */
+ original,
+
+ /** The track is a remix of a related track. */
+ remix,
+
+ /** The track is a cover version of a related track. */
+ cover,
+
+ }
+
+ /**
+ * Returns the name of this track.
+ *
+ * @return The name of this track
+ */
public String getName();
+ /**
+ * Sets the name of this track.
+ *
+ * @param name
+ * The name of this track
+ * @return This track
+ */
public Track setName(String name);
+ /**
+ * Returns all artists involved in this track.
+ *
+ * @return All involved artists in preferred order
+ */
public List getArtists();
+ /**
+ * Sets all artists involved in this track.
+ *
+ * @param artists
+ * All involved artists in preferred order
+ * @return This track
+ */
public Track setArtists(List artists);
+ /**
+ * Returns all styles of this track.
+ *
+ * @return All styles of this track
+ */
public Collection