001
014
015 package com.liferay.portal.kernel.workflow.comparator;
016
017 import com.liferay.portal.kernel.util.OrderByComparator;
018 import com.liferay.portal.kernel.workflow.WorkflowDefinition;
019
020
023 public abstract class BaseWorkflowDefinitionNameComparator
024 extends OrderByComparator {
025
026 public BaseWorkflowDefinitionNameComparator() {
027 this(false);
028 }
029
030 public BaseWorkflowDefinitionNameComparator(boolean ascending) {
031 _ascending = ascending;
032 }
033
034 public int compare(Object obj1, Object obj2) {
035 WorkflowDefinition workflowDefinition1 = (WorkflowDefinition)obj1;
036 WorkflowDefinition workflowDefinition2 = (WorkflowDefinition)obj2;
037
038 String name1 = workflowDefinition1.getName();
039 String name2 = workflowDefinition2.getName();
040
041 int value = name1.compareTo(name2);
042
043 if (value == 0) {
044 Integer version1 = workflowDefinition1.getVersion();
045 Integer version2 = workflowDefinition2.getVersion();
046
047 value = version1.compareTo(version2);
048 }
049
050 if (_ascending) {
051 return value;
052 }
053 else {
054 return -value;
055 }
056 }
057
058 public boolean isAscending() {
059 return _ascending;
060 }
061
062 private boolean _ascending;
063
064 }