package com.soundlooper.system;
import java.util.Comparator;
import javafx.scene.control.TreeItem;
import com.soundlooper.model.SoundLooperObject;
import com.soundlooper.model.song.Song;
import com.soundlooper.model.tag.Tag;
public class ManageFavoriteTreeComparator implements Comparator<TreeItem<Tag>> {
@Override
public int compare(TreeItem<Tag> o1, TreeItem<Tag> o2) {
SoundLooperObject soundLooperObject1 = o1.getValue();
SoundLooperObject soundLooperObject2 = o2.getValue();
if (soundLooperObject1 instanceof Song
&& soundLooperObject2 instanceof Song) {
Song song1 = (Song) soundLooperObject1;
Song song2 = (Song) soundLooperObject2;
return song1.getFile().getName()
.compareTo(song2.getFile().getName());
}
if (soundLooperObject1 instanceof Tag
&& soundLooperObject2 instanceof Tag) {
Tag song1 = (Tag) soundLooperObject1;
Tag song2 = (Tag) soundLooperObject2;
return song1.getName().compareTo(song2.getName());
}
if (soundLooperObject1 instanceof Tag) {
return -1;
}
return 1;
}
}