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