001
014
015 package com.liferay.portal.util.comparator;
016
017 import com.liferay.portal.kernel.util.OrderByComparator;
018 import com.liferay.portal.model.UserGroup;
019
020
023 public class UserGroupDescriptionComparator
024 extends OrderByComparator<UserGroup> {
025
026 public static final String ORDER_BY_ASC =
027 "UserGroup.description ASC, UserGroup.name ASC";
028
029 public static final String ORDER_BY_DESC =
030 "UserGroup.description DESC, UserGroup.name DESC";
031
032 public static final String[] ORDER_BY_FIELDS = {"description", "name"};
033
034 public UserGroupDescriptionComparator() {
035 this(false);
036 }
037
038 public UserGroupDescriptionComparator(boolean ascending) {
039 _ascending = ascending;
040 }
041
042 @Override
043 public int compare(UserGroup userGroup1, UserGroup userGroup2) {
044 String description1 = userGroup1.getDescription();
045 String description2 = userGroup2.getDescription();
046
047 int value = description1.compareTo(description2);
048
049 if (value == 0) {
050 String name1 = userGroup1.getName();
051 String name2 = userGroup2.getName();
052
053 value = name1.compareTo(name2);
054 }
055
056 if (_ascending) {
057 return value;
058 }
059 else {
060 return -value;
061 }
062 }
063
064 @Override
065 public String getOrderBy() {
066 if (_ascending) {
067 return ORDER_BY_ASC;
068 }
069 else {
070 return ORDER_BY_DESC;
071 }
072 }
073
074 @Override
075 public String[] getOrderByFields() {
076 return ORDER_BY_FIELDS;
077 }
078
079 @Override
080 public boolean isAscending() {
081 return _ascending;
082 }
083
084 private final boolean _ascending;
085
086 }