package com.thebluealliance.androidclient.comparators;
import com.thebluealliance.androidclient.listitems.ListItem;
import com.thebluealliance.androidclient.listitems.StatsListElement;
import java.util.Comparator;
public class StatListElementComparator implements Comparator<ListItem> {
private String mStatToSortBy;
public
StatListElementComparator(String statToSortBy) {
mStatToSortBy = statToSortBy;
}
@Override
public int compare(ListItem lhs, ListItem rhs) {
if (!(lhs instanceof StatsListElement) || !(rhs instanceof StatsListElement)) {
return 0;
}
StatsListElement left = (StatsListElement) lhs;
StatsListElement right = (StatsListElement) rhs;
switch (mStatToSortBy) {
case "team":
return Integer.compare(left.getTeamNumber(), right.getTeamNumber());
case "opr":
default:
return Double.compare(right.getOpr(), left.getOpr());
case "dpr":
return Double.compare(left.getDpr(), right.getDpr());
case "ccwm":
return Double.compare(right.getCcwm(), left.getCcwm());
}
}
}