001
014
015 package com.liferay.portlet.backgroundtask.util.comparator;
016
017 import com.liferay.portal.kernel.backgroundtask.BackgroundTask;
018 import com.liferay.portal.kernel.util.DateUtil;
019 import com.liferay.portal.kernel.util.OrderByComparator;
020
021
024 public class BackgroundTaskCompletionDateComparator
025 extends OrderByComparator<BackgroundTask> {
026
027 public static final String ORDER_BY_ASC =
028 "BackgroundTask.completionDate ASC";
029
030 public static final String ORDER_BY_DESC =
031 "BackgroundTask.completionDate DESC";
032
033 public static final String[] ORDER_BY_FIELDS = {"completionDate"};
034
035 public BackgroundTaskCompletionDateComparator() {
036 this(false);
037 }
038
039 public BackgroundTaskCompletionDateComparator(boolean ascending) {
040 _ascending = ascending;
041 }
042
043 @Override
044 public int compare(
045 BackgroundTask backgroundTask1, BackgroundTask backgroundTask2) {
046
047 int value = DateUtil.compareTo(
048 backgroundTask1.getCompletionDate(),
049 backgroundTask2.getCompletionDate());
050
051 if (_ascending) {
052 return value;
053 }
054 else {
055 return -value;
056 }
057 }
058
059 @Override
060 public String getOrderBy() {
061 if (_ascending) {
062 return ORDER_BY_ASC;
063 }
064 else {
065 return ORDER_BY_DESC;
066 }
067 }
068
069 @Override
070 public String[] getOrderByFields() {
071 return ORDER_BY_FIELDS;
072 }
073
074 @Override
075 public boolean isAscending() {
076 return _ascending;
077 }
078
079 private final boolean _ascending;
080
081 }