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 @Override
036 public int compare(String s1, String s2) {
037 if (s1 == null) {
038 s1 = StringPool.BLANK;
039 }
040
041 if (s2 == null) {
042 s2 = StringPool.BLANK;
043 }
044
045 if (!_ascending) {
046 String temp = s1;
047
048 s1 = s2;
049 s2 = temp;
050 }
051
052 if (_caseSensitive) {
053 return s1.compareTo(s2);
054 }
055 else {
056 return s1.compareToIgnoreCase(s2);
057 }
058 }
059
060 private boolean _ascending;
061 private boolean _caseSensitive;
062
063 }