| HtmlTable.java |
package server.servlets;
/**
* The HtmlTable class encapsulates the functionality
* required to construct an HTML representation of a table.
*
* The number of rows and columns of the required table
* are specified as arguments to the constructor, as is the
* size of the border drawn around the table.
*
* The table can then be populated with data items using
* the setItem method.
*
* To retrieve the resulting table, the getHtml method is
* invoked.
*
* @author Robert Lysik
* @version 1.00
*/
public class HtmlTable {
// Data members of the HtmlTable class
// which will be used to construct an
// HTML representation of a table.
private int rows;
private int cols;
private int border;
private String tableItem[][];
/**
* This function sets the value of an element in the
* table specified by the parameters r and c passed
* in as arguments.
*
*/
public HtmlTable(int r,
int c,
int b) {
rows = r;
cols = c;
border = b;
tableItem = new String[rows][cols];
}
/**
* This function sets the value of an element in the
* table specified by the parameters r and c passed
* in as arguments.
*/
public void setElement(int r,
int c,
String value) {
tableItem[r][c] = value;
}
/**
* This function returns the value of the element in
* the table as specified by the r and c parameters
* passed in as arguments.
*
*/
public String getElement(int r,
int c) {
return tableItem[r][c];
}
/**
* This function returns the HTML script to generate
* the table as a string.
*/
public String getHtml() {
String html = new String();
// Start the table definition with the opening HTML tag
html = "<table border = " + border + ">\r\n";
// Loop through each row and column index for the table
// Prefix each new row with the <tr> HTML tag, and
// each element in the row using the <td> tag. The
// value for each item is stored in the tableItem String
// array.
for (int rowIndex = 0; rowIndex < rows; rowIndex++) {
html += "<tr>\r\n";
for (int colIndex = 0; colIndex < cols; colIndex++) {
html += "<td>" +
(tableItem[rowIndex][colIndex]) +
"\r\n";
}
}
// Add the closing tag for the table.
html += "</table>\r\n";
return html;
}
}