package com.interview.design.questions.jukebox;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class Playlist {
private String name;
private String createTime;
private int currentIdx = 0;
private List<Song> list;
public Playlist(String name){
super();
this.name = name;
this.createTime = new Date().toString();
this.list = new ArrayList<>();
}
public Playlist(String name, List<Song> list) {
super();
this.list = list;
this.name = name;
this.createTime = new Date().toString();
this.list = new ArrayList<>();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCreateTime() {
return createTime;
}
public List<Song> getList() {
return list;
}
public void setList(List<Song> list) {
this.list = list;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public Song getNextSongToPlay(){
currentIdx++;
if(currentIdx >= list.size()) {
currentIdx = 0; //cyclic
}
return list.get(currentIdx);
}
public Song getCurrentSong(){
return list.get(currentIdx);
}
public void addSong(Song s){ list.add(s); }
}