-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTupleComparator.java
41 lines (31 loc) · 1.05 KB
/
TupleComparator.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package edu.buffalo.cse562;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import net.sf.jsqlparser.schema.Column;
public class TupleComparator implements Comparator<Tuple> {
protected List<String> fields;
public TupleComparator(ArrayList<String> orderedFields) {
fields = new ArrayList<String>();
for (String field : orderedFields) {
fields.add(field);
}
}
@Override
public int compare(Tuple tupleA, Tuple tupleB) {
Integer score = 0;
Boolean continueComparison = true;
Iterator<String> itFields = fields.iterator();
while (itFields.hasNext() && continueComparison) {
String field = itFields.next();
Integer currentScore = 0;
currentScore = tupleA.get(field).toString().compareTo(tupleB.get(field).toString());
if (currentScore != 0) {
continueComparison = false;
}
score = currentScore;
}
return score;
}
}