package itu.spvc.smartlist.objects;
import java.io.Serializable;
public class Track implements Comparable<Track>, Serializable {
private static final long serialVersionUID = 1L;
private String artist;
private String title;
private int length;
// Number of occurrences
private int number;
public Track(Track track) {
this.artist = track.getArtist();
this.title = track.getTitle();
this.length = track.getLength();
this.number = 0;
}
public Track(String artist, String title, int length) {
this.artist = artist;
this.title = title;
this.length = length;
this.number = 0;
}
public String getArtist() {
return artist;
}
public void setArtist(String artist) {
this.artist = artist;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getLength() {
return length;
}
public void setLength(int length) {
this.length = length;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public void increment() {
this.number++;
}
public boolean equals(Track track) {
if (this.artist.endsWith(track.artist)
&& this.title.endsWith(track.title)) {
return true;
} else
return false;
}
public String toString() {
return this.artist + " - " + this.title + " (" + this.number + ")";
}
@Override
public int compareTo(Track track) {
if (this.number < track.number)
return 1;
else if (this.number > track.number)
return -1;
else {
int compare = getString(this.getArtist()).compareToIgnoreCase(
getString(track.getArtist()));
if (compare < 0)
return -1;
else if (compare > 0)
return 1;
else
return 0;
}
}
private String getString(String str) {
return str.replace(" ", "");
}
}
|