59 lines
1.6 KiB
Java
59 lines
1.6 KiB
Java
package de.vanitasvitae.imi.codes;
|
|
|
|
import java.util.List;
|
|
|
|
import de.vanitasvitae.imi.codes.types.SampleTubeCode;
|
|
|
|
public class HtmlTableStringBuilder {
|
|
|
|
private StringBuilder html;
|
|
|
|
/**
|
|
* Generated a HTML String which contains a table of {@link SampleTubeCode SampleTubeCodes}.
|
|
*
|
|
* @param title Title which gets inserted as level 2 header.
|
|
* @param codes list of codes
|
|
*/
|
|
public HtmlTableStringBuilder(String title, List<SampleTubeCode> codes) {
|
|
html = new StringBuilder("<!DOCTYPE html>\n")
|
|
.append("<html>\n")
|
|
.append("<head>\n")
|
|
.append("<style>\n")
|
|
.append("table, th, td {\n")
|
|
.append(" border: 1px solid black;\n")
|
|
.append("}\n")
|
|
.append("</style>\n")
|
|
.append("</head>")
|
|
.append("<body>")
|
|
.append("\n");
|
|
|
|
// Add title
|
|
html.append("<h2>").append(title).append("</h2>\n");
|
|
|
|
// Open table
|
|
html.append("<table>\n")
|
|
.append("<tr>\n")
|
|
.append("<th>Code</th>\n")
|
|
.append("</tr>\n");
|
|
|
|
// Append table entries
|
|
for (SampleTubeCode c : codes) {
|
|
html.append("<tr>\n")
|
|
.append("<td>").append(c.toString()).append("</td>\n")
|
|
.append("</tr>\n");
|
|
}
|
|
|
|
// Close table
|
|
html.append("</table>\n");
|
|
|
|
// Close body and html
|
|
html.append("</body>\n");
|
|
html.append("</html>");
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return html.toString();
|
|
}
|
|
}
|