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 import java.util.Date;
021
022
025 public class WorkflowLogCreateDateComparator
026 extends OrderByComparator<WorkflowLog> {
027
028 public WorkflowLogCreateDateComparator(
029 boolean ascending, String orderByAsc, String orderByDesc,
030 String[] orderByFields) {
031
032 _ascending = ascending;
033 _orderByAsc = orderByAsc;
034 _orderByDesc = orderByDesc;
035 _orderByFields = orderByFields;
036 }
037
038 @Override
039 public int compare(WorkflowLog workflowLog1, WorkflowLog workflowLog2) {
040 Date createDate1 = workflowLog1.getCreateDate();
041 Date createDate2 = workflowLog2.getCreateDate();
042
043 int value = createDate1.compareTo(createDate2);
044
045 if (value != 0) {
046 Long workflowLogId1 = workflowLog1.getWorkflowLogId();
047 Long workflowLogId2 = workflowLog2.getWorkflowLogId();
048
049 value = workflowLogId1.compareTo(workflowLogId2);
050 }
051
052 if (_ascending) {
053 return value;
054 }
055 else {
056 return -value;
057 }
058 }
059
060 @Override
061 public String getOrderBy() {
062 if (isAscending()) {
063 return _orderByAsc;
064 }
065 else {
066 return _orderByDesc;
067 }
068 }
069
070 @Override
071 public String[] getOrderByFields() {
072 return _orderByFields;
073 }
074
075 @Override
076 public boolean isAscending() {
077 return _ascending;
078 }
079
080 private final boolean _ascending;
081 private final String _orderByAsc;
082 private final String _orderByDesc;
083 private final String[] _orderByFields;
084
085 }