Skip to content

Commit

Permalink
jOOQ#100: Prototype for compiling multiple classes in one go.
Browse files Browse the repository at this point in the history
  • Loading branch information
davsclaus committed Mar 27, 2022
1 parent cd18b32 commit 716162d
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
13 changes: 9 additions & 4 deletions jOOR/src/main/java/org/joor/CompilationUnit.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;

public class CompilationUnit {

private Map<String, String> files = new LinkedHashMap<>();
private final Map<String, String> files = new LinkedHashMap<>();

public static class Result {
private final Map<String, Class<?>> classes = new LinkedHashMap<>();
Expand All @@ -35,22 +36,26 @@ public int size() {
return classes.size();
}

public Set<String> getClassNames() {
return classes.keySet();
}

}

public static CompilationUnit create() {
public static CompilationUnit input() {
return new CompilationUnit();
}

public static CompilationUnit.Result result() {
return new Result();
}

public CompilationUnit unit(String className, String content) {
public CompilationUnit addClass(String className, String content) {
files.put(className, content);
return this;
}

public Map<String, String> getFiles() {
Map<String, String> getFiles() {
return files;
}
}
10 changes: 5 additions & 5 deletions jOOR/src/test/java/org/joor/test/CompileUnitTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ public class CompileUnitTest {

@Test
public void testSingleUnit() throws Exception {
CompilationUnit unit = CompilationUnit.create()
.unit("org.joor.test.CompileMultiTest1",
CompilationUnit unit = CompilationUnit.input()
.addClass("org.joor.test.CompileMultiTest1",
"package org.joor.test;\n" +
"class CompileMultiTest1 implements java.util.function.Supplier<String> {\n" +
" public String get() {\n" +
Expand All @@ -43,16 +43,16 @@ public void testSingleUnit() throws Exception {

@Test
public void testDualUnit() throws Exception {
CompilationUnit unit = CompilationUnit.create()
.unit("org.joor.test.CompileMultiTest2",
CompilationUnit unit = CompilationUnit.input()
.addClass("org.joor.test.CompileMultiTest2",
"package org.joor.test;\n" +
"class CompileMultiTest2 implements java.util.function.Supplier<String> {\n" +
" public String get() {\n" +
" return \"Bye World!\";\n" +
" }\n" +
"}\n"
)
.unit("org.joor.test.CompileMultiTest3",
.addClass("org.joor.test.CompileMultiTest3",
"package org.joor.test;\n" +
"class CompileMultiTest3 implements java.util.function.Supplier<String> {\n" +
" public String get() {\n" +
Expand Down

0 comments on commit 716162d

Please sign in to comment.