package com.softwaremill.common.util.stringsorting;
import com.google.common.primitives.UnsignedBytes;
import java.io.Serializable;
import java.nio.charset.Charset;
import java.util.Comparator;
/**
* @author Adam Warski (adam at warski dot org)
*/
public class ByteByByteStringComparator implements Comparator<String>, Serializable {
@Override
public int compare(String o1, String o2) {
if (o1 == null) {
return o2 == null ? 0 : -1;
}
if (o2 == null) {
return 1;
}
return UnsignedBytes.lexicographicalComparator().compare(o1.getBytes(Charset.defaultCharset()), o2.getBytes(Charset.defaultCharset()));
}
}