001
014
015 package com.liferay.portal.kernel.workflow.comparator;
016
017 import com.liferay.portal.kernel.util.OrderByComparator;
018 import com.liferay.portal.kernel.workflow.WorkflowTask;
019
020
023 public class WorkflowTaskUserIdComparator
024 extends OrderByComparator<WorkflowTask> {
025
026 public WorkflowTaskUserIdComparator(
027 boolean ascending, String orderByAsc, String orderByDesc,
028 String[] orderByFields) {
029
030 _ascending = ascending;
031 _orderByAsc = orderByAsc;
032 _orderByDesc = orderByDesc;
033 _orderByFields = orderByFields;
034 }
035
036 @Override
037 public int compare(WorkflowTask workflowTask1, WorkflowTask workflowTask2) {
038 Long assigneeUserId1 = workflowTask1.getAssigneeUserId();
039 Long assigneeUserId2 = workflowTask2.getAssigneeUserId();
040
041 int value = assigneeUserId1.compareTo(assigneeUserId2);
042
043 if (value == 0) {
044 Long workflowTaskId1 = workflowTask1.getWorkflowTaskId();
045 Long workflowTaskId2 = workflowTask2.getWorkflowTaskId();
046
047 value = workflowTaskId1.compareTo(workflowTaskId2);
048 }
049
050 if (_ascending) {
051 return value;
052 }
053 else {
054 return -value;
055 }
056 }
057
058 @Override
059 public String getOrderBy() {
060 if (isAscending()) {
061 return _orderByAsc;
062 }
063 else {
064 return _orderByDesc;
065 }
066 }
067
068 @Override
069 public String[] getOrderByFields() {
070 return _orderByFields;
071 }
072
073 @Override
074 public boolean isAscending() {
075 return _ascending;
076 }
077
078 private final boolean _ascending;
079 private final String _orderByAsc;
080 private final String _orderByDesc;
081 private final String[] _orderByFields;
082
083 }