summaryrefslogtreecommitdiff
path: root/support/latex-dependency-grapher/source/main/java/ch/bfh/lpdg/datastructure/Dependency.java
diff options
context:
space:
mode:
Diffstat (limited to 'support/latex-dependency-grapher/source/main/java/ch/bfh/lpdg/datastructure/Dependency.java')
-rw-r--r--support/latex-dependency-grapher/source/main/java/ch/bfh/lpdg/datastructure/Dependency.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/support/latex-dependency-grapher/source/main/java/ch/bfh/lpdg/datastructure/Dependency.java b/support/latex-dependency-grapher/source/main/java/ch/bfh/lpdg/datastructure/Dependency.java
new file mode 100644
index 0000000000..d27895462c
--- /dev/null
+++ b/support/latex-dependency-grapher/source/main/java/ch/bfh/lpdg/datastructure/Dependency.java
@@ -0,0 +1,67 @@
+package ch.bfh.lpdg.datastructure;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.*;
+
+@Getter
+@Setter
+public class Dependency {
+
+ public boolean IsUnused;
+ public String Source;
+
+ private DependencyType type;
+ private String name;
+ private List<Dependency> dependencyList;
+
+ public Dependency(DependencyType type, String name, String source) {
+ this.type = type;
+ this.name = name;
+ this.dependencyList = new ArrayList<>();
+ this.Source = source;
+ }
+
+ @Override
+ public String toString() {
+ return print(0);
+ }
+
+ private String print(int numTabs) {
+ StringBuilder s = new StringBuilder(name + " (" + type.toString() + ")\n");
+
+ for (Dependency d : dependencyList) {
+ s.append("\t".repeat(numTabs + 1)).append(d.print(numTabs + 1));
+ }
+
+ return s.toString();
+ }
+
+ public String toLaTeXString() {
+ return appendLine(0);
+ }
+
+ private String appendLine(int numTabs) {
+ StringBuilder s = new StringBuilder(name + " (" + type.toString() + ")\n");
+
+ for (Dependency d : dependencyList) {
+ s.append("\t".repeat(numTabs + 1)).append(d.appendLine(numTabs + 1));
+ }
+
+ return s.toString();
+ }
+
+ public String toGraphString() {
+ StringBuilder s = new StringBuilder();
+
+ for (Dependency d : dependencyList) {
+ var newStr = name.replace("\\", "").replace("@", "").replace(".", "").replace("-", "").replace("/", "");
+ var newStrDep = d.name.replace("\\", "").replace("@", "").replace(".", "").replace("-", "").replace("/", "");
+ s.append(newStr).append(" -> ").append(newStrDep).append(";\n");
+ s.append(d.toGraphString());
+ }
+
+ return s.toString();
+ }
+}