diff --git a/Plan/src/main/java/com/djrapitops/plan/data/element/InspectContainer.java b/Plan/src/main/java/com/djrapitops/plan/data/element/InspectContainer.java index 5fd63f04d..9b2f6fa60 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/element/InspectContainer.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/element/InspectContainer.java @@ -48,25 +48,25 @@ public class InspectContainer { } public final String parseHtml() { - StringBuilder html = new StringBuilder(); + StringBuilder parsed = new StringBuilder(); if (!values.isEmpty()) { - html.append("
"); + parsed.append("
"); for (Map.Entry entry : values.entrySet()) { - html.append("

").append(entry.getKey()).append(": ").append(entry.getValue()).append("

"); + parsed.append("

").append(entry.getKey()).append(": ").append(entry.getValue()).append("

"); } - html.append("
"); + parsed.append("
"); } for (Map.Entry entry : this.html.entrySet()) { - html.append(entry.getValue()); + parsed.append(entry.getValue()); } for (Map.Entry entry : tables.entrySet()) { - html.append(entry.getValue().parseHtml()); + parsed.append(entry.getValue().parseHtml()); } - return html.toString(); + return parsed.toString(); } /** diff --git a/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java b/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java index 3114995e9..76ec2cba4 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java @@ -40,12 +40,10 @@ public class TableContainer { } public TableContainer(boolean players, String... header) { - this.header = FormatUtils.mergeArrays( + this(FormatUtils.mergeArrays( new String[]{Icon.called("user").build() + " Player"}, header - ); - this.formatters = new Formatter[this.header.length]; - values = new ArrayList<>(); + )); } public final void addRow(Serializable... values) { @@ -60,36 +58,40 @@ public class TableContainer { } public final String parseBody() { - StringBuilder body = new StringBuilder(); - if (values.isEmpty()) { addRow("No Data"); } + return Html.TABLE_BODY.parse(buildBody()); + + } + + private String buildBody() { + StringBuilder body = new StringBuilder(); for (Serializable[] row : values) { - - int maxIndex = row.length - 1; - body.append(""); - for (int i = 0; i < header.length; i++) { - try { - if (i > maxIndex) { - body.append("-"); - } else { - Serializable value = row[i]; - Formatter formatter = formatters[i]; - body.append("" : ">"); - body.append(formatter != null ? formatter.apply(value) : value); - } - body.append(""); - } catch (ClassCastException | ArrayIndexOutOfBoundsException e) { - throw new IllegalStateException("Invalid formatter given at index " + i + ": " + e.getMessage(), e); - } - } - body.append(""); - + appendRow(body, row); } + return body.toString(); + } - return Html.TABLE_BODY.parse(body.toString()); - + private void appendRow(StringBuilder body, Serializable[] row) { + int maxIndex = row.length - 1; + body.append(""); + for (int i = 0; i < header.length; i++) { + try { + if (i > maxIndex) { + body.append("-"); + } else { + Serializable value = row[i]; + Formatter formatter = formatters[i]; + body.append("" : ">"); + body.append(formatter != null ? formatter.apply(value) : value); + } + body.append(""); + } catch (ClassCastException | ArrayIndexOutOfBoundsException e) { + throw new IllegalStateException("Invalid formatter given at index " + i + ": " + e.getMessage(), e); + } + } + body.append(""); } public final void setColor(String color) { @@ -97,12 +99,12 @@ public class TableContainer { } public final String parseHeader() { - StringBuilder header = new StringBuilder(""); - for (String title : this.header) { - header.append("").append(title).append(""); + StringBuilder parsedHeader = new StringBuilder(""); + for (String title : header) { + parsedHeader.append("").append(title).append(""); } - header.append(""); - return header.toString(); + parsedHeader.append(""); + return parsedHeader.toString(); } public final void setFormatter(int index, Formatter formatter) {