Skip to content

Instantly share code, notes, and snippets.

@purwadarozatun
Created June 8, 2021 09:39
Show Gist options
  • Save purwadarozatun/dd347b0fbf40558112817964f265f34a to your computer and use it in GitHub Desktop.
Save purwadarozatun/dd347b0fbf40558112817964f265f34a to your computer and use it in GitHub Desktop.
package utils;
import java.util.HashMap;
import java.util.List;
public class TableUtils {
private List<String> headers;
private List<String> dataKeys;
private List<HashMap<String, String>> dataSource;
public void setHeaders(List<String> headers) {
this.headers = headers;
}
public void setDataKeys(List<String> dataKeys) {
this.dataKeys = dataKeys;
}
public void setDataSource(List<HashMap<String, String>> dataSource) {
this.dataSource = dataSource;
}
public String render() {
String table = "";
table += this.generateHeader();
table += this.generateBody();
return this.createTableElem(table);
}
private String generateBody() {
String bag = "";
for (HashMap<String, String> data : this.dataSource) {
String trBag = "";
for (String datakey : dataKeys) {
trBag += this.createTdElem(data.get(datakey));
}
bag += this.createTrElem(trBag);
}
return this.createBodyElem(bag);
}
private String generateHeader() {
String bag = "";
for (String header : headers) {
bag += this.createThElem(header);
}
return this.createHeaderElem(this.createTrElem(bag));
}
private String createHeaderElem(String elem) {
return "<thead>" + elem + "</thead>";
}
private String createThElem(String item) {
return "<th>" + item + "</th>";
}
private String createTdElem(String item) {
return "<td>" + item + "</td>";
}
private String createTrElem(String item) {
return "<tr>" + item + "</tr>";
}
private String createBodyElem(String elem) {
return "<tbody>" + elem + "</tbody>";
}
private String createTableElem(String elem) {
return "<table>" + elem + "</table>";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment