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