Allora per adesso ho risistemato il codice in questo modo:
codice:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class TableSort
{
boolean descending;
int sort;
Comparator<Game> comparator;
public TableSort(int s,boolean d)
{
sort=s;
descending=d;
}
public void sort(ArrayList<Game> games)
{
if(sort==0)comparator=new PathComparator();
else if(sort==1)comparator=new DateComparator();
else if(sort==2)comparator=new WhiteComparator();
else if(sort==3)comparator=new BlackComparator();
else if(sort==4)comparator=new WhiteRankComparator();
else if(sort==5)comparator=new BlackRankComparator();
else if(sort==6)comparator=new TypeComparator();
else if(sort==7)comparator=new CommentComparator();
else return;
if(descending)comparator=Collections.reverseOrder(comparator);
Collections.sort(games,comparator);
}
class PathComparator implements Comparator<Game>
{
public int compare(Game g,Game h){
return g.path.compareTo(h.path);
}
}
class DateComparator implements Comparator<Game>
{
public int compare(Game g,Game h){
return g.date.compareTo(h.date);
}
}
class WhiteComparator implements Comparator<Game>
{
public int compare(Game g,Game h){
return g.white.compareTo(h.white);
}
}
// ... stessa storia per gli altri comparatori
}
Va bene come design ?