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