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) {
036 this(ascending, false);
037 }
038
039 public AssetTagNameComparator(boolean ascending, boolean caseSensitive) {
040 _ascending = ascending;
041 _caseSensitive = caseSensitive;
042 }
043
044 @Override
045 public int compare(AssetTag assetTag1, AssetTag assetTag2) {
046 String name1 = assetTag1.getName();
047 String name2 = assetTag2.getName();
048
049 int value = 0;
050
051 if (_caseSensitive) {
052 value = name1.compareTo(name2);
053 }
054 else {
055 value = name1.compareToIgnoreCase(name2);
056 }
057
058 if (_ascending) {
059 return value;
060 }
061 else {
062 return -value;
063 }
064 }
065
066 @Override
067 public String getOrderBy() {
068 if (_ascending) {
069 return ORDER_BY_ASC;
070 }
071 else {
072 return ORDER_BY_DESC;
073 }
074 }
075
076 @Override
077 public String[] getOrderByFields() {
078 return ORDER_BY_FIELDS;
079 }
080
081 @Override
082 public boolean isAscending() {
083 return _ascending;
084 }
085
086 private final boolean _ascending;
087 private final boolean _caseSensitive;
088
089 }