diff --git a/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/SimpleQueryBeanWriter.java b/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/SimpleQueryBeanWriter.java index 8524a59f9..ee21711d2 100644 --- a/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/SimpleQueryBeanWriter.java +++ b/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/SimpleQueryBeanWriter.java @@ -8,6 +8,9 @@ import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; @@ -42,6 +45,23 @@ class SimpleQueryBeanWriter { "kotlin.Char" }; + // These are special classes under Kotlin, and are auto-imported, same as + // java.lang under Java + private static final Set kotlinBlackListedImports = Collections.unmodifiableSet( + new HashSet<>( + Arrays.asList( + "java.util.ArrayList", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.List", + "java.util.Map", + "java.util.Set" + ) + ) + ); + private final Set importTypes = new TreeSet<>(); private final List properties = new ArrayList<>(); @@ -158,6 +178,7 @@ class SimpleQueryBeanWriter { importTypes.add(kotlinTypes[i]); } } + importTypes.removeAll(kotlinBlackListedImports); } private boolean isEntity() {