// -*- mode: java; c-basic-offset: 2; -*- // Copyright 2016 MIT, All rights reserved // This module is an unreleased work. package com.google.appinventor.client.admin; import java.util.Comparator; import java.util.Date; import com.google.appinventor.shared.rpc.admin.AdminUser; /** * Comparators for {@link AdminUsers}. * * @author jis@mit.edu (Jeffrey I. Schiller) * * Based on the ProjectComparators written by lizlooney@google.com (Liz Looney) * */ public final class AdminComparators { private AdminComparators() { } public static final Comparator<AdminUser> COMPARE_BY_NAME_ASCENDING = new Comparator<AdminUser>() { @Override public int compare(AdminUser user1, AdminUser user2) { String user1Name = user1.getEmail(); String user2Name = user2.getEmail(); return user1Name.compareToIgnoreCase(user2Name); // ascending } }; public static final Comparator<AdminUser> COMPARE_BY_NAME_DESCENDING = new Comparator<AdminUser>() { @Override public int compare(AdminUser user1, AdminUser user2) { String user1Name = user1.getEmail(); String user2Name = user2.getEmail(); return user2Name.compareToIgnoreCase(user1Name); // ascending } }; public static final Comparator<AdminUser> COMPARE_BY_VISTED_DATE_ASCENDING = new Comparator<AdminUser>() { @Override public int compare(AdminUser user1, AdminUser user2) { Date date1 = user1.getVisited(); Date date2 = user2.getVisited(); if (date1 == null && date2 == null) { return 0; } else if (date1 == null) { return 1; } else if (date2 == null) { return -1; } else { return date1.compareTo(date2); } } }; public static final Comparator<AdminUser> COMPARE_BY_VISTED_DATE_DESCENDING = new Comparator<AdminUser>() { @Override public int compare(AdminUser user1, AdminUser user2) { Date date1 = user1.getVisited(); Date date2 = user2.getVisited(); if (date1 == null && date2 == null) { return 0; } else if (date1 == null) { return -1; } else if (date2 == null) { return 1; } else { return date2.compareTo(date1); } } }; }