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.WorkflowLog;
019
020
023 public class WorkflowLogUserIdComparator
024 extends OrderByComparator<WorkflowLog> {
025
026 public WorkflowLogUserIdComparator(
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(WorkflowLog workflowLog1, WorkflowLog workflowLog2) {
038 Long userId1 = workflowLog1.getUserId();
039 Long userId2 = workflowLog2.getUserId();
040
041 int value = userId1.compareTo(userId2);
042
043 if (value == 0) {
044 Long workflowLogId1 = workflowLog1.getWorkflowLogId();
045 Long workflowLogId2 = workflowLog2.getWorkflowLogId();
046
047 value = workflowLogId1.compareTo(workflowLogId2);
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 }