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
024 extends OrderByComparator<MDRRuleGroupInstance> {
025
026 public static final String ORDER_BY_ASC =
027 "MDRRuleGroupInstance.priority ASC";
028
029 public static final String ORDER_BY_DESC =
030 "MDRRuleGroupInstance.priority DESC";
031
032 public static final String[] ORDER_BY_FIELDS = {"priority"};
033
034 public RuleGroupInstancePriorityComparator() {
035 this(true);
036 }
037
038 public RuleGroupInstancePriorityComparator(boolean ascending) {
039 _ascending = ascending;
040 }
041
042 @Override
043 public int compare(
044 MDRRuleGroupInstance ruleGroupInstance1,
045 MDRRuleGroupInstance ruleGroupInstance2) {
046
047 int value =
048 ruleGroupInstance2.getPriority() - ruleGroupInstance1.getPriority();
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 final boolean _ascending;
079
080 }