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