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 {
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(Object obj1, Object obj2) {
041 WikiPage page1 = (WikiPage)obj1;
042 WikiPage page2 = (WikiPage)obj2;
043
044 String title1 = new String(page1.getTitle());
045 String title2 = new String(page2.getTitle());
046
047 int value = title1.compareTo(title2);
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 }