001
014
015 package com.liferay.portlet.mobiledevicerules.util;
016
017 import com.liferay.portal.kernel.util.OrderByComparator;
018 import com.liferay.portlet.mobiledevicerules.model.MDRRuleGroupInstance;
019
020
023 public class RuleGroupInstancePriorityComparator extends OrderByComparator {
024
025 public static final String ORDER_BY_ASC =
026 "MDRRuleGroupInstance.priority ASC";
027
028 public static final String ORDER_BY_DESC =
029 "MDRRuleGroupInstance.priority DESC";
030
031 public static final String[] ORDER_BY_FIELDS = {"priority"};
032
033 public RuleGroupInstancePriorityComparator() {
034 this(true);
035 }
036
037 public RuleGroupInstancePriorityComparator(boolean ascending) {
038 _ascending = ascending;
039 }
040
041 @Override
042 public int compare(Object obj1, Object obj2) {
043 MDRRuleGroupInstance ruleGroupInstance1 = (MDRRuleGroupInstance)obj1;
044 MDRRuleGroupInstance ruleGroupInstance2 = (MDRRuleGroupInstance)obj2;
045
046 int value =
047 ruleGroupInstance2.getPriority() - ruleGroupInstance1.getPriority();
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 }