2022-09-06 21:20:59 +02:00
|
|
|
package io.gitlab.jfronny.inceptum.common.model.maven;
|
|
|
|
|
2023-05-04 11:31:54 +02:00
|
|
|
import java.util.Iterator;
|
|
|
|
import java.util.Set;
|
2022-09-06 21:20:59 +02:00
|
|
|
|
2022-11-18 21:58:40 +01:00
|
|
|
public record DependencyNode(String name, Set<DependencyNode> dependencies) {
|
2022-09-06 21:20:59 +02:00
|
|
|
@Override
|
|
|
|
public String toString() {
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
generateTree(sb, "", "");
|
|
|
|
return sb.toString();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void generateTree(StringBuilder sb, String prefix, String childrenPrefix) {
|
|
|
|
sb.append(prefix).append(name).append('\n');
|
2022-11-04 17:02:24 +01:00
|
|
|
for (Iterator<DependencyNode> it = dependencies.iterator(); it.hasNext(); ) {
|
2022-09-06 21:20:59 +02:00
|
|
|
DependencyNode next = it.next();
|
|
|
|
if (it.hasNext()) {
|
|
|
|
next.generateTree(sb, childrenPrefix + "├── ", childrenPrefix + "│ ");
|
|
|
|
} else {
|
|
|
|
next.generateTree(sb, childrenPrefix + "└── ", childrenPrefix + " ");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|