From b2ef2883c5745e479b58605c321d8ad2911ca729 Mon Sep 17 00:00:00 2001 From: Nilstrieb Date: Sat, 5 Dec 2020 14:08:43 +0100 Subject: [PATCH] maven and abstract class --- .idea/compiler.xml | 16 +++++++++++++ .idea/jarRepositories.xml | 20 ++++++++++++++++ .idea/libraries/Maven__junit_junit_4_13_1.xml | 13 ++++++++++ .../Maven__org_hamcrest_hamcrest_core_1_3.xml | 13 ++++++++++ .idea/misc.xml | 7 ++++++ UMLClassParser.iml | 14 +++++++---- pom.xml | 24 +++++++++++++++++++ src/{ => main/java}/META-INF/MANIFEST.MF | 0 src/{ => main/java}/Regex.java | 0 src/{ => main/java}/UMLClass.java | 17 +++++++++---- src/{ => main/java}/UMLClassView.form | 0 src/{ => main/java}/UMLClassView.java | 0 src/{ => main/java}/UMLConverterMain.java | 0 src/{ => main/java}/UMLField.java | 0 src/{ => main/java}/UMLManager.java | 0 src/{ => main/java}/UMLMethod.java | 0 src/{ => main/java}/XMLParser.java | 0 17 files changed, 116 insertions(+), 8 deletions(-) create mode 100644 .idea/compiler.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/libraries/Maven__junit_junit_4_13_1.xml create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml create mode 100644 pom.xml rename src/{ => main/java}/META-INF/MANIFEST.MF (100%) rename src/{ => main/java}/Regex.java (100%) rename src/{ => main/java}/UMLClass.java (85%) rename src/{ => main/java}/UMLClassView.form (100%) rename src/{ => main/java}/UMLClassView.java (100%) rename src/{ => main/java}/UMLConverterMain.java (100%) rename src/{ => main/java}/UMLField.java (100%) rename src/{ => main/java}/UMLManager.java (100%) rename src/{ => main/java}/UMLMethod.java (100%) rename src/{ => main/java}/XMLParser.java (100%) diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..ebd65fc --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_13_1.xml b/.idea/libraries/Maven__junit_junit_4_13_1.xml new file mode 100644 index 0000000..9fa24fc --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_13_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 0000000..f58bbc1 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index e69afb6..378cb91 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,12 @@ + + + diff --git a/UMLClassParser.iml b/UMLClassParser.iml index c90834f..5f13780 100644 --- a/UMLClassParser.iml +++ b/UMLClassParser.iml @@ -1,11 +1,17 @@ - - - + + + + - + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..fea03bb --- /dev/null +++ b/pom.xml @@ -0,0 +1,24 @@ + + + 4.0.0 + + com.github.nilstrieb + UMLClassParser + 0.9-SNAPSHOT + + + junit + junit + RELEASE + test + + + + + 14 + 14 + + + \ No newline at end of file diff --git a/src/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF similarity index 100% rename from src/META-INF/MANIFEST.MF rename to src/main/java/META-INF/MANIFEST.MF diff --git a/src/Regex.java b/src/main/java/Regex.java similarity index 100% rename from src/Regex.java rename to src/main/java/Regex.java diff --git a/src/UMLClass.java b/src/main/java/UMLClass.java similarity index 85% rename from src/UMLClass.java rename to src/main/java/UMLClass.java index c151d66..6fd388e 100644 --- a/src/UMLClass.java +++ b/src/main/java/UMLClass.java @@ -1,6 +1,4 @@ -import javax.print.DocFlavor; import java.util.ArrayList; -import java.util.regex.Pattern; public class UMLClass { @@ -8,6 +6,8 @@ public class UMLClass { private final String fullName; private final String packageString; + private final boolean isAbstract; + private final ArrayList fields = new ArrayList<>(); private final ArrayList methods = new ArrayList<>(); @@ -28,7 +28,16 @@ public class UMLClass { String[] lines = classDiagram.split("\n"); String[] linesBeheaded = new String[lines.length - 1]; - this.fullName = lines[0]; + + String name = lines[0]; + if(name.matches("/.+/")){ + isAbstract = true; + this.fullName = name.replaceAll("/(.+)/", "$1"); + } else { + isAbstract = false; + this.fullName = name; + } + this.name = lines[0].split(" ")[0]; System.arraycopy(lines, 1, linesBeheaded, 0, linesBeheaded.length); @@ -59,7 +68,7 @@ public class UMLClass { if (!packageString.equals("")) { s.append("package ").append(packageString).append(";\n\n"); } - s.append("public class ").append(fullName).append(" {\n\n"); + s.append("public ").append(isAbstract ? "abstract " : "").append("class ").append(fullName).append(" {\n\n"); if (fields.size() > 0) { for (UMLField field : fields) { diff --git a/src/UMLClassView.form b/src/main/java/UMLClassView.form similarity index 100% rename from src/UMLClassView.form rename to src/main/java/UMLClassView.form diff --git a/src/UMLClassView.java b/src/main/java/UMLClassView.java similarity index 100% rename from src/UMLClassView.java rename to src/main/java/UMLClassView.java diff --git a/src/UMLConverterMain.java b/src/main/java/UMLConverterMain.java similarity index 100% rename from src/UMLConverterMain.java rename to src/main/java/UMLConverterMain.java diff --git a/src/UMLField.java b/src/main/java/UMLField.java similarity index 100% rename from src/UMLField.java rename to src/main/java/UMLField.java diff --git a/src/UMLManager.java b/src/main/java/UMLManager.java similarity index 100% rename from src/UMLManager.java rename to src/main/java/UMLManager.java diff --git a/src/UMLMethod.java b/src/main/java/UMLMethod.java similarity index 100% rename from src/UMLMethod.java rename to src/main/java/UMLMethod.java diff --git a/src/XMLParser.java b/src/main/java/XMLParser.java similarity index 100% rename from src/XMLParser.java rename to src/main/java/XMLParser.java