package net.notdot.bdbdatastore.server;
import java.util.Comparator;
import com.google.appengine.entity.Entity;
public class PropertyComparator implements Comparator<Entity.Property> {
public static final PropertyComparator instance = new PropertyComparator(false);
public static final PropertyComparator noValueInstance = new PropertyComparator(true);
private boolean compareValues;
public PropertyComparator(boolean compareValues) {
this.compareValues = compareValues;
}
public int compare(Entity.Property o1, Entity.Property o2) {
int ret = o1.getName().asReadOnlyByteBuffer().compareTo(o2.getName().asReadOnlyByteBuffer());
if(ret != 0)
return ret;
ret = o1.getMeaning().compareTo(o2.getMeaning());
if(ret != 0)
return ret;
if(!compareValues)
return 0;
return PropertyValueComparator.instance.compare(o1.getValue(), o2.getValue());
}
}