1
19
20 package com.liferay.portal.util.comparator;
21
22 import com.liferay.portal.kernel.util.OrderByComparator;
23 import com.liferay.portal.model.User;
24
25
31 public class UserJobTitleComparator extends OrderByComparator {
32
33 public static String ORDER_BY_ASC =
34 "User_.jobTitle ASC, User_.lastName ASC, User_.firstName ASC, " +
35 "User_.middleName ASC";
36
37 public static String ORDER_BY_DESC =
38 "User_.jobTitle DESC, User_.lastName DESC, User_.firstName DESC, " +
39 "User_.middleName DESC";
40
41 public static String[] ORDER_BY_FIELDS = {
42 "jobTitle", "lastName", "firstName", "middleName"
43 };
44
45 public UserJobTitleComparator() {
46 this(false);
47 }
48
49 public UserJobTitleComparator(boolean asc) {
50 _asc = asc;
51 }
52
53 public int compare(Object obj1, Object obj2) {
54 User user1 = (User)obj1;
55 User user2 = (User)obj2;
56
57 int value = user1.getJobTitle().compareTo(user2.getJobTitle());
58
59 if (value == 0) {
60 value = user1.getLastName().compareTo(user2.getLastName());
61 }
62
63 if (value == 0) {
64 value = user1.getFirstName().compareTo(user2.getFirstName());
65 }
66
67 if (value == 0) {
68 value = user1.getMiddleName().compareTo(user2.getMiddleName());
69 }
70
71 if (_asc) {
72 return value;
73 }
74 else {
75 return -value;
76 }
77 }
78
79 public String getOrderBy() {
80 if (_asc) {
81 return ORDER_BY_ASC;
82 }
83 else {
84 return ORDER_BY_DESC;
85 }
86 }
87
88 public String[] getOrderByFields() {
89 return ORDER_BY_FIELDS;
90 }
91
92 public boolean isAscending() {
93 return _asc;
94 }
95
96 private boolean _asc;
97
98 }