001
014
015 package com.liferay.portal.kernel.util;
016
017 import java.io.Serializable;
018
019 import java.util.Comparator;
020
021
024 public class StringComparator implements Comparator<String>, Serializable {
025
026 public StringComparator() {
027 this(true, false);
028 }
029
030 public StringComparator(boolean ascending, boolean caseSensitive) {
031 _ascending = ascending;
032 _caseSensitive = caseSensitive;
033 }
034
035 public int compare(String s1, String s2) {
036 if (s1 == null) {
037 s1 = StringPool.BLANK;
038 }
039
040 if (s2 == null) {
041 s2 = StringPool.BLANK;
042 }
043
044 if (!_ascending) {
045 String temp = s1;
046
047 s1 = s2;
048 s2 = temp;
049 }
050
051 if (_caseSensitive) {
052 return s1.compareTo(s2);
053 }
054 else {
055 return s1.compareToIgnoreCase(s2);
056 }
057 }
058
059 private boolean _ascending;
060 private boolean _caseSensitive;
061
062 }