Created
June 8, 2021 09:39
-
-
Save purwadarozatun/dd347b0fbf40558112817964f265f34a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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