1
14
15 package com.liferay.portal.kernel.workflow.comparator;
16
17 import com.liferay.portal.kernel.util.OrderByComparator;
18 import com.liferay.portal.kernel.workflow.WorkflowInstance;
19
20 import java.util.Date;
21
22
28 public abstract class BaseWorkflowInstanceEndDateComparator
29 extends OrderByComparator {
30
31 public BaseWorkflowInstanceEndDateComparator() {
32 this(false);
33 }
34
35 public BaseWorkflowInstanceEndDateComparator(boolean ascending) {
36 _ascending = ascending;
37 }
38
39 public int compare(Object obj1, Object obj2) {
40 WorkflowInstance workflowInstance1 = (WorkflowInstance)obj1;
41 WorkflowInstance workflowInstance2 = (WorkflowInstance)obj2;
42
43 Date endDate1 = workflowInstance1.getEndDate();
44 Date endDate2 = workflowInstance2.getEndDate();
45
46 int value = endDate1.compareTo(endDate2);
47
48 if (value == 0) {
49 Long workflowInstanceId1 =
50 workflowInstance1.getWorkflowInstanceId();
51 Long workflowInstanceId2 =
52 workflowInstance2.getWorkflowInstanceId();
53
54 value = workflowInstanceId1.compareTo(workflowInstanceId2);
55 }
56
57 if (_ascending) {
58 return value;
59 }
60 else {
61 return -value;
62 }
63 }
64
65 public boolean isAscending() {
66 return _ascending;
67 }
68
69 private boolean _ascending;
70
71 }