package liquibase.diff.output.changelog;
import liquibase.database.Database;
import liquibase.structure.DatabaseObject;
import java.util.Comparator;
public class ChangeGeneratorComparator implements Comparator<ChangeGenerator> {
private Class<? extends DatabaseObject> objectType;
private Database database;
public ChangeGeneratorComparator(Class<? extends DatabaseObject> objectType, Database database) {
this.objectType = objectType;
this.database = database;
}
@Override
public int compare(ChangeGenerator o1, ChangeGenerator o2) {
int result = -1 * Integer.valueOf(o1.getPriority(objectType, database)).compareTo(o2.getPriority(objectType, database));
if (result == 0) {
return o1.getClass().getName().compareTo(o2.getClass().getName());
}
return result;
}
}