package ru.ltst.u2020mvp.data.api;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import ru.ltst.u2020mvp.data.api.model.request.Sort;
import ru.ltst.u2020mvp.data.api.model.response.Image;
final public class SortUtil {
private static final Comparator<Image> TIME = (lhs, rhs) -> {
long left = lhs.datetime;
long right = rhs.datetime;
return left < right ? 1 : (left == right ? 0 : -1);
};
private static final Comparator<Image> VIRAL = (lhs, rhs) -> {
// Just use views for mock data.
int left = lhs.views;
int right = rhs.views;
return left < right ? 1 : (left == right ? 0 : -1);
};
static public void sort(List<Image> images, Sort sort) {
switch (sort) {
case TIME:
Collections.sort(images, TIME);
break;
case VIRAL:
Collections.sort(images, VIRAL);
break;
default:
throw new IllegalArgumentException("Unknown sort: " + sort);
}
}
private SortUtil() {
}
}