public class Song implements SongInterface {
    private String title;
    private String artist;
    private String topGenres;
    private int year;
    private int bpm; // Beats per minute
    private int energy;
    private int danceability;
    private int loudness;
    private int liveness;

    // Constructor
    public Song(String[] info) {
      title = info[0];
      artist = info[1];
      topGenres = info[2];
      year = Integer.valueOf(info[3]);
      bpm = Integer.valueOf(info[4]);
      energy = Integer.valueOf(info[5]);
      danceability = Integer.valueOf(info[6]);
      loudness = Integer.valueOf(info[7]);
      liveness = Integer.valueOf(info[8]);
  }

    // Implement all getter methods as defined in the SongInterface
    @Override
    public String getTitle() { return title; }

    @Override
    public String getArtist() { return artist; }

    @Override
    public String getGenres() { return topGenres; }

    @Override
    public int getYear() { return year; }

    @Override
    public int getBPM() { return bpm; }

    @Override
    public int getEnergy() { return energy; }

    @Override
    public int getDanceability() { return danceability; }

    @Override
    public int getLoudness() { return loudness; }

    @Override
    public int getLiveness() { return liveness; }

    
    @Override
    public int compareTo(SongInterface other) {
        return this.title.compareTo(other.getTitle());
    }
}
