//Create a class for music player package MusicPlayer import Timer.SimulatedTimer public class MusicPlayer { private String id private String label private String displayName private int level private String mute private String status private int trackNumber private List trackData MusicPlayer(String id, String label, String displayName, int level, String mute, String status, int trackNumber, List trackData) { this.id = id this.label = label this.displayName = displayName this.level = level this.mute = mute this.status = status this.trackNumber = trackNumber this.trackData = trackData } //methods def mute() { println("the music player with id:$id is muted!") this.mute = "muted" } def nextTrack() { if (trackNumber != trackData.size()-1) trackNumber = trackNumber+1 else trackNumber = 0 def trackPlaying = trackData[trackNumber] println("the $trackPlaying is selected!") this.status = "playing" } def pause() { println("the music player with id:$id is paused!") this.status = "paused" } def play() { println("the music player with id:$id is starting to play!") this.status = "playing" } def playTrack(String trackToPlay) { trackNumber = list.indexOf(trackToPlay) def trackPlaying = trackData[trackNumber] println("the $trackPlaying is selected to play!") this.status = "playing" } def previousTrack() { if (trackNumber != 0) trackNumber = trackNumber-1 else trackNumber = trackData.size()-1 def trackPlaying = trackData[trackNumber] println("the $trackPlaying is selected!") this.status = "playing" } /*def restoreTrack(String trackToRestore) { musicPlayers*.restoreTrack(trackToRestore) }*/ def resumeTrack(String trackToResume) { trackNumber = list.indexOf(trackToResume) def trackPlaying = trackData[trackNumber] println("the $trackPlaying is resumed!") this.status = "playing" } def setLevel(int level) { this.level = level println("the level of sound is changed to $level!") } def setTrack(String trackToSet) { trackNumber = list.indexOf(trackToSet) def trackPlaying = trackData[trackNumber] println("the $trackPlaying is set!") this.status = "playing" } def stop() { println("the music player with id:$id is stopped!") this.status = "stopped" } def currentValue(String deviceFeature) { if (deviceFeature == "musicPlayer") { return status } } }