
co.fusionx.spotify.component.sync.SyncTrackComponent Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of spotify-web-api Show documentation
Show all versions of spotify-web-api Show documentation
Library which allows easy async and sync access to the Spotify Web APIs
The newest version!
package co.fusionx.spotify.component.sync;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Collection;
import java.util.List;
import co.fusionx.spotify.component.TrackComponent;
import co.fusionx.spotify.model.Track;
import co.fusionx.spotify.model.jackson.JacksonTrack;
import co.fusionx.spotify.util.Util;
import retrofit.http.GET;
import retrofit.http.Path;
import retrofit.http.Query;
public class SyncTrackComponent extends SyncBaseComponent implements TrackComponent {
private final SyncTrackAPI mSyncTrackAPI;
public SyncTrackComponent() {
mSyncTrackAPI = mRestAdapter.create(SyncTrackAPI.class);
}
@Override
public Track getTrack(String id) {
return mSyncTrackAPI.getTrack(id);
}
@Override
public List extends Track> getTracks(final Collection tracksIds) {
final String ids = Util.join(tracksIds, ",");
return mSyncTrackAPI.getTracks(ids).getTracks();
}
public static class Tracks {
@JsonProperty(value = "tracks")
public List mTracks;
public List getTracks() {
return mTracks;
}
}
private static interface SyncTrackAPI {
@GET("/tracks/{id}")
public JacksonTrack getTrack(@Path("id") final String id);
@GET("/tracks")
public Tracks getTracks(@Query("ids") final String id);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy