Add: TODO.

This commit is contained in:
GabrieleRadice
2026-04-30 18:49:43 +02:00
parent 9992808426
commit b3ece597e1
19 changed files with 116 additions and 16 deletions
@@ -1,22 +1,39 @@
package it.polimi.ingsw.gc14.View.TUI;
import java.util.*;
//TODO javadoc
// Helper generale per costruire tabelle ASCII
public class AsciiTable {
//TODO javadoc
private final BorderStyle s;
//TODO javadoc
private final int cols;
//TODO javadoc
private final List<List<String>> rows = new ArrayList<>();
//TODO javadoc
private final List<Integer> separators = new ArrayList<>();
//TODO javadoc
public AsciiTable(BorderStyle s, int cols) {
this.s = s; this.cols = cols;
}
//TODO javadoc
public void addRow(String... cells) { rows.add(Arrays.asList(cells)); }
//TODO javadoc
public void addRow(List<String> cells) { rows.add(cells); }
//TODO javadoc
public void addHeader(String... cells) { rows.add(0, Arrays.asList(cells)); separators.add(0); }
//TODO javadoc
public void addSeparator() { separators.add(rows.size()-1); }
//TODO javadoc
public String build() {
var sb = new StringBuilder();
int maxWidth = rows.stream().mapToInt(x->x.stream().mapToInt(y->y.length()).max().getAsInt()).max().getAsInt()+1;
@@ -34,6 +51,7 @@ public class AsciiTable {
return sb.toString();
}
//TODO javadoc
private String hline(String l, String m, String r,int maxWidth) {
var sb = new StringBuilder(l);
for (int i = 0; i < cols; i++) {
@@ -43,10 +61,13 @@ public class AsciiTable {
return sb.append(r).toString();
}
//TODO javadoc
private static String rpad(String s, int w) {
if (s.length() >= w) return s.substring(0, w);
return s + " ".repeat(w - s.length());
}
//TODO javadoc
public static String sideBySide(List<String> left, List<String> right, int gap) {
int leftWidth = left.stream().mapToInt(String::length).max().orElse(0);
int maxHeight = Math.max(left.size(), right.size());