import java.sql.*;
import java.text.*;
import java.util.*;
import org.apache.ecs.*;
import org.apache.ecs.html.*;
public class NumberCustomizer implements TableCustomizer {
NumberFormat fmt;
public NumberCustomizer(Locale loc) {
fmt = NumberFormat.getNumberInstance(loc);
}
public boolean accept(int columnType, String columnTypeName,
String columnName, ResultSet rs, int index)
throws SQLException {
return (columnType == Types.TINYINT ||
columnType == Types.SMALLINT ||
columnType == Types.INTEGER ||
columnType == Types.BIGINT ||
columnType == Types.REAL ||
columnType == Types.FLOAT ||
columnType == Types.DOUBLE);
}
public Element display(int columnType, String columnTypeName,
String columnName, ResultSet rs, int index)
throws SQLException {
// Print the number using the specified locale
if (columnType == Types.TINYINT ||
columnType == Types.SMALLINT ||
columnType == Types.INTEGER ||
columnType == Types.BIGINT) {
return new StringElement(fmt.format(rs.getLong(index)));
}
else {
return new StringElement(fmt.format(rs.getDouble(index)));
}
}
}
|