Skip to content

Commit 358610f

Browse files
committed
Allow to skip "extends" for generated types (faster parsing)
1 parent b65f06d commit 358610f

File tree

4 files changed

+26
-4
lines changed

4 files changed

+26
-4
lines changed

JavaProjectGenerator/src/de/loskutov/jpg/Clazz.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,24 @@ String generateCode() {
2121
String s = "package " + packageName + ";\n\n" +
2222
generateImports() +
2323
generateComments() +
24-
"@SuppressWarnings(\"all\")\n" +
25-
"public abstract class " + name + "<"+type+"> extends " + extend + "<"+type+"> implements " + implement + "<"+type+"> {\n\n" +
24+
generateTypeDefinition(type) +
25+
"{\n\n" +
2626
generateFields() +
2727
generateClassFields(type) +
2828
generateMethods(type) +
2929
"}\n";
3030
return s;
3131
}
3232

33+
String generateTypeDefinition(String type) {
34+
if(useExtend) {
35+
return "@SuppressWarnings(\"all\")\n" +
36+
"public abstract class " + name + "<"+type+"> extends " + extend + "<"+type+"> implements " + implement + "<"+type+"> ";
37+
}
38+
return "@SuppressWarnings(\"all\")\n" +
39+
"public abstract class " + name + "<"+type+"> ";
40+
}
41+
3342
String generateClassFields(String type) {
3443
if(methodCounts == 0) {
3544
return "";

JavaProjectGenerator/src/de/loskutov/jpg/Interface.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,24 @@ String generateCode() {
1515
String s = "package " + packageName + ";\n\n" +
1616
generateImports() +
1717
generateComments() +
18-
"@SuppressWarnings(\"all\")\n" +
19-
"public interface " + name + "<"+type+"> extends " + extend + "<"+type+"> {\n\n" +
18+
generateTypeDefinition(type) +
19+
"{\n\n" +
2020
generateFields() +
2121
generateMethods(type) +
2222
"}\n";
2323
return s;
2424
}
2525

26+
String generateTypeDefinition(String type) {
27+
if(useExtend) {
28+
return "@SuppressWarnings(\"all\")\n" +
29+
"public interface " + name + "<"+type+"> extends " + extend + "<"+type+"> ";
30+
}
31+
return "@SuppressWarnings(\"all\")\n" +
32+
"public interface " + name + "<"+type+"> ";
33+
}
34+
35+
2636
String generateMethods(String type) {
2737
if(methodCounts == 0) {
2838
return "";

JavaProjectGenerator/src/de/loskutov/jpg/JavaElement.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public abstract class JavaElement {
2020
static int commentsCount = 3;
2121
static int seeCount = 3;
2222
static int methodCounts = 1;
23+
static boolean useExtend = true;
2324

2425
static final List<String> IMPORTS = Arrays.asList(
2526
"java.awt.datatransfer.*",

JavaProjectGenerator/src/de/loskutov/jpg/Main.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public static void main(String[] args) throws IOException {
2828
int comments = 3;
2929
int see = 3;
3030
int methods = 1;
31+
boolean extend = false;
3132

3233
if(args.length == 0) {
3334
System.out.println("No arguments given, using defaults");
@@ -60,6 +61,7 @@ public static void main(String[] args) throws IOException {
6061
JavaElement.commentsCount = comments;
6162
JavaElement.seeCount = see;
6263
JavaElement.methodCounts = methods;
64+
JavaElement.useExtend = extend;
6365

6466
new JavaBuilder(depth, roots, classes, root).build();
6567
}

0 commit comments

Comments
 (0)