X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fdemoscenemusic%2Fdata%2FDefaultTrack.java;h=0c01a2cfb297628c3904d2907e661cf8d898f833;hb=9eee0f4f619731e5f8b79396d2476090d328be6b;hp=b3575173fe2583d9ffe6757929b8ea8ffd1f4663;hpb=e3ac92367c0fde656598f388e9026f45c2868c4b;p=demoscenemusic.git diff --git a/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultTrack.java b/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultTrack.java index b357517..0c01a2c 100644 --- a/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultTrack.java +++ b/src/main/java/net/pterodactylus/demoscenemusic/data/DefaultTrack.java @@ -19,6 +19,7 @@ package net.pterodactylus.demoscenemusic.data; import java.util.Collection; import java.util.List; +import java.util.Map; /** * Default implementation of a track data container. @@ -94,4 +95,116 @@ public class DefaultTrack extends DefaultBase implements Track { return this; } + /** + * {@inheritDoc} + */ + @Override + public String getRemix() { + return getValue("remix", String.class).get(); + } + + /** + * {@inheritDoc} + */ + @Override + public Track setRemix(String remix) { + getValue("remix", String.class).set(remix); + return this; + } + + /** + * {@inheritDoc} + */ + @Override + @SuppressWarnings("unchecked") + public List getRemixArtists() { + return getValue("remixArtists", List.class).get(); + } + + /** + * {@inheritDoc} + */ + @Override + public Track setRemixArtists(List remixArtists) { + getValue("remixArtists", List.class).set(remixArtists); + return this; + } + + /** + * {@inheritDoc} + */ + @Override + @SuppressWarnings("unchecked") + public Collection getDerivatives() { + return getValue("derivatives", Collection.class).get(); + } + + /** + * {@inheritDoc} + */ + @Override + public Track setDerivatives(Collection derivatives) { + getValue("derivatives", Collection.class).set(derivatives); + return this; + } + + /** + * {@inheritDoc} + */ + @Override + @SuppressWarnings("unchecked") + public Map> getRelatedTracks() { + return getValue("relatedTracks", Map.class).get(); + } + + /** + * {@inheritDoc} + */ + @Override + public Track setRelatedTracks(Map> relatedTracks) { + getValue("relatedTracks", Map.class).set(relatedTracks); + return this; + } + + /** + * {@inheritDoc} + */ + @Override + @SuppressWarnings("unchecked") + public Collection getParties() { + return getValue("parties", Collection.class).get(); + } + + /** + * {@inheritDoc} + */ + @Override + public Track setParties(Collection parties) { + getValue("parties", Collection.class).set(parties); + return this; + } + + // + // OBJECT METHODS + // + + /** + * {@inheritDoc} + */ + @Override + public int hashCode() { + return getId().hashCode(); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean equals(Object object) { + if (!(object instanceof Track)) { + return false; + } + return ((Track) object).getId().equals(getId()); + } + }