[#7680] Allow for overriding the order of generated import statements

This commit is contained in:
lukaseder 2018-11-28 12:25:41 +01:00
parent 0b2c2cbad9
commit 12a5a26fd2

View File

@ -7,6 +7,7 @@ import java.io.File;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -32,7 +33,7 @@ public class JavaWriter extends GeneratorWriter<JavaWriter> {
private final Pattern fullyQualifiedTypes;
private final boolean javadoc;
private final Set<String> qualifiedTypes = new TreeSet<String>();
private final Set<String> qualifiedTypes = new TreeSet<String>(qualifiedTypeComparator());
private final Map<String, String> unqualifiedTypes = new TreeMap<String, String>();
private final String className;
private final boolean isJava;
@ -161,6 +162,13 @@ public class JavaWriter extends GeneratorWriter<JavaWriter> {
println(IMPORT_STATEMENT);
}
/**
* Subclasses may override this to specify their own order of qualified types.
*/
protected Comparator<String> qualifiedTypeComparator() {
return null;
}
@Override
protected String beforeClose(String string) {
StringBuilder importString = new StringBuilder();