/*
* Copyright 2004-2011 H2 Group. Multiple-Licensed under the H2 License,
* Version 1.0, and under the Eclipse Public License, Version 1.0
* (http://h2database.com/html/license.html).
* Initial Developer: H2 Group
*/
package org.h2.test.synth.sql;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* Represents a row.
*/
class Row implements Comparable<Row> {
private Value[] data;
public Row(TestSynth config, ResultSet rs, int len) throws SQLException {
data = new Value[len];
for (int i = 0; i < len; i++) {
data[i] = Value.read(config, rs, i + 1);
}
}
public String toString() {
String s = "";
for (Object o : data) {
s += o == null ? "NULL" : o.toString();
s += "; ";
}
return s;
}
public int compareTo(Row r2) {
int result = 0;
for (int i = 0; i < data.length && result == 0; i++) {
Object o1 = data[i];
Object o2 = r2.data[i];
if (o1 == null) {
result = (o2 == null) ? 0 : -1;
} else if (o2 == null) {
result = 1;
} else {
result = o1.toString().compareTo(o2.toString());
}
}
return result;
}
}