001
014
015 package com.liferay.portal.util.comparator;
016
017 import com.liferay.portal.kernel.util.OrderByComparator;
018 import com.liferay.portal.model.User;
019
020
023 public class UserScreenNameComparator extends OrderByComparator {
024
025 public static final String ORDER_BY_ASC = "screenName ASC";
026
027 public static final String ORDER_BY_DESC = "screenName DESC";
028
029 public static final String[] ORDER_BY_FIELDS = {"screenName"};
030
031 public UserScreenNameComparator() {
032 this(false);
033 }
034
035 public UserScreenNameComparator(boolean ascending) {
036 _ascending = ascending;
037 }
038
039 @Override
040 public int compare(Object obj1, Object obj2) {
041 User user1 = (User)obj1;
042 User user2 = (User)obj2;
043
044 String screenName1 = user1.getScreenName();
045 String screenName2 = user2.getScreenName();
046
047 int value = screenName1.compareTo(screenName2);
048
049 if (_ascending) {
050 return value;
051 }
052 else {
053 return -value;
054 }
055 }
056
057 @Override
058 public String getOrderBy() {
059 if (_ascending) {
060 return ORDER_BY_ASC;
061 }
062 else {
063 return ORDER_BY_DESC;
064 }
065 }
066
067 @Override
068 public String[] getOrderByFields() {
069 return ORDER_BY_FIELDS;
070 }
071
072 @Override
073 public boolean isAscending() {
074 return _ascending;
075 }
076
077 private boolean _ascending;
078
079 }