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