package net.yacy.data.ymark;
import java.util.Comparator;
import net.yacy.cora.document.encoding.UTF8;
import net.yacy.kelondro.blob.Tables;
public class TablesRowComparator implements Comparator<Tables.Row> {
private String sortname;
private boolean desc;
public TablesRowComparator(final String sortname, final String sortorder) {
setSortName(sortname);
if(sortorder.equals("desc"))
this.desc = true;
else
this.desc = false;
}
public void setSortName(final String sortname) {
this.sortname = sortname;
}
@Override
public int compare(Tables.Row row0, Tables.Row row1) {
if(row0 != null && row1 != null) {
if(row0.containsKey(this.sortname) && row1.containsKey(this.sortname)) {
String name1 = UTF8.String(row0.get(this.sortname)).toLowerCase();
String name2 = UTF8.String(row1.get(this.sortname)).toLowerCase();
return (this.desc) ? name2.compareTo(name1) : name1.compareTo(name2);
}
}
return 0;
}
}