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 import java.util.Date;
021
022
025 public abstract class BaseWorkflowTaskCompletionDateComparator
026 extends OrderByComparator {
027
028 public BaseWorkflowTaskCompletionDateComparator() {
029 this(false);
030 }
031
032 public BaseWorkflowTaskCompletionDateComparator(boolean ascending) {
033 _ascending = ascending;
034 }
035
036 @Override
037 public int compare(Object obj1, Object obj2) {
038 WorkflowTask workflowTask1 = (WorkflowTask)obj1;
039 WorkflowTask workflowTask2 = (WorkflowTask)obj2;
040
041 Date completionDate1 = workflowTask1.getCompletionDate();
042 Date completionDate2 = workflowTask2.getCompletionDate();
043
044 int value = completionDate1.compareTo(completionDate2);
045
046 if (value == 0) {
047 Long workflowTaskId1 = workflowTask1.getWorkflowTaskId();
048 Long workflowTaskId2 = workflowTask2.getWorkflowTaskId();
049
050 value = workflowTaskId1.compareTo(workflowTaskId2);
051 }
052
053 if (_ascending) {
054 return value;
055 }
056 else {
057 return -value;
058 }
059 }
060
061 @Override
062 public boolean isAscending() {
063 return _ascending;
064 }
065
066 private boolean _ascending;
067
068 }