001
014
015 package com.liferay.portlet.journal.util.comparator;
016
017 import com.liferay.portal.kernel.util.OrderByComparator;
018 import com.liferay.portlet.journal.model.JournalArticle;
019
020
023 public class ArticleVersionComparator
024 extends OrderByComparator<JournalArticle> {
025
026 public static final String ORDER_BY_ASC = "JournalArticle.version ASC";
027
028 public static final String ORDER_BY_DESC = "JournalArticle.version DESC";
029
030 public static final String[] ORDER_BY_FIELDS = {"version"};
031
032 public ArticleVersionComparator() {
033 this(false);
034 }
035
036 public ArticleVersionComparator(boolean ascending) {
037 _ascending = ascending;
038 }
039
040 @Override
041 public int compare(JournalArticle article1, JournalArticle article2) {
042 int value = 0;
043
044 if (article1.getVersion() < article2.getVersion()) {
045 value = -1;
046 }
047 else if (article1.getVersion() > article2.getVersion()) {
048 value = 1;
049 }
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 }