package net.rdrei.android.scdl2.api.entity; import android.os.Parcel; import android.os.Parcelable; import com.google.gson.annotations.SerializedName; import net.rdrei.android.scdl2.api.SoundcloudEntity; import java.util.ArrayList; import java.util.List; /** * Represents a playlist on SoundCloud. Based on this JSON type: * http://developers.soundcloud.com/docs/api/reference#playlists */ public class PlaylistEntity implements SoundcloudEntity, Parcelable { private static final long serialVersionUID = 1L; private long id; private String description; private UserEntity user; private List<TrackEntity> tracks; @SerializedName("artwork_url") private String artworkUrl; public PlaylistEntity() { super(); } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public List<TrackEntity> getTracks() { return tracks; } public void setTracks(List<TrackEntity> tracks) { this.tracks = tracks; } public String getArtworkUrl() { return artworkUrl; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeLong(this.id); dest.writeString(this.description); dest.writeParcelable(this.user, flags); dest.writeList(this.tracks); dest.writeString(this.artworkUrl); } private PlaylistEntity(Parcel in) { this.id = in.readLong(); this.description = in.readString(); this.user = in.readParcelable(UserEntity.class.getClassLoader()); this.tracks = new ArrayList<TrackEntity>(); in.readList(this.tracks, TrackEntity.class.getClassLoader()); this.artworkUrl = in.readString(); } public static Creator<PlaylistEntity> CREATOR = new Creator<PlaylistEntity>() { public PlaylistEntity createFromParcel(Parcel source) { return new PlaylistEntity(source); } public PlaylistEntity[] newArray(int size) { return new PlaylistEntity[size]; } }; }