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