X-Git-Url: https://git.pterodactylus.net/?p=demoscenemusic.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fdemoscenemusic%2Fdata%2FDefaultTrack.java;h=0c01a2cfb297628c3904d2907e661cf8d898f833;hp=db358f8d28a5e3eb0b8de65260ac78a2c1ca99d2;hb=9eee0f4f619731e5f8b79396d2476090d328be6b;hpb=f910bfec8c988bc9baf7e5e3a05b19237e899cec diff --git a/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultTrack.java b/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultTrack.java index db358f8..0c01a2c 100644 --- a/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultTrack.java +++ b/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultTrack.java @@ -19,49 +19,192 @@ package net.pterodactylus.demoscenemusic.data; import java.util.Collection; import java.util.List; +import java.util.Map; /** - * TODO + * Default implementation of a track data container. * * @author David ‘Bombe’ Roden */ public class DefaultTrack extends DefaultBase implements Track { + /** + * Creates a new track data container. + * + * @param id + * The ID of the track + */ public DefaultTrack(String id) { super(id); } + // + // TRACK METHODS + // + + /** + * {@inheritDoc} + */ + @Override + public String getName() { + return getValue("name", String.class).get(); + } + + /** + * {@inheritDoc} + */ + @Override + public Track setName(String name) { + getValue("name", String.class).set(name); + return this; + } + + /** + * {@inheritDoc} + */ + @Override + @SuppressWarnings("unchecked") + public List getArtists() { + return getValue("artists", List.class).get(); + } + + /** + * {@inheritDoc} + */ + @Override + public Track setArtists(List artists) { + getValue("artists", List.class).set(artists); + return this; + } + + /** + * {@inheritDoc} + */ + @Override + @SuppressWarnings("unchecked") + public Collection