package fowler; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.Random; public class RemoteAlbum implements Album { private static final long serialVersionUID = 1; private String title; private Artist artist; private String song;; private boolean platinum; private List tracks = new ArrayList(); public RemoteAlbum(String title) { this.title = title; this.platinum = false; this.song = randomString(30); } public static String randomString(int len) { Random r = new Random(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < len; i++) { char letter = (char) ((int) 'a' + r.nextInt(26)); sb.append(letter); } return sb.toString(); } @Override public String play() { return song; } @Override public String getTitle() { return title; } @Override public void setTitle(String title) { this.title = title; } @Override public Artist getArtist() { return artist; } @Override public void setArtist(Artist artist) { this.artist = artist; } @Override public Track[] getTracks() { Track[] tr = tracks.toArray(new Track[tracks.size()]); for (Track t : tr) { System.out.println(t); } return tr; } @Override public void addTrack(Track t) { tracks.add(t); } @Override public void removeTrack(Track t) { tracks.remove(t); } @Override public boolean isPlatinum() { return platinum; } @Override public void setPlatinum(boolean platinum) { this.platinum = platinum; } }