// Path: src/main/java/org/mybatis/generator/api/dom/OutputUtilities.java
// public static Set<String> calculateImports(
//         Set<FullyQualifiedJavaType> importedTypes) {
//     StringBuilder sb = new StringBuilder();
//     Set<String> importStrings = new TreeSet<String>();
//     for (FullyQualifiedJavaType fqjt : importedTypes) {
//         for (String importString : fqjt.getImportList()) {
//             sb.setLength(0);
//             sb.append("import "); //$NON-NLS-1$
//             sb.append(importString);
//             sb.append(';');
//             importStrings.add(sb.toString());
//         }
//     }
// 
//     return importStrings;
// }
// 
// Path: src/main/java/org/mybatis/generator/api/dom/OutputUtilities.java
// public static void javaIndent(StringBuilder sb, int indentLevel) {
//     for (int i = 0; i < indentLevel; i++) {
//         sb.append("    "); //$NON-NLS-1$
//     }
// }
// 
// Path: src/main/java/org/mybatis/generator/api/dom/OutputUtilities.java
// public static void newLine(StringBuilder sb) {
//     sb.append(lineSeparator);
// }


import static org.mybatis.generator.api.dom.OutputUtilities.calculateImports;
import static org.mybatis.generator.api.dom.OutputUtilities.javaIndent;
import static org.mybatis.generator.api.dom.OutputUtilities.newLine;
import static org.mybatis.generator.internal.util.StringUtility.stringHasValue;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
        if (getSuperInterfaceTypes().size() > 0) {
            sb.append(" extends "); //$NON-NLS-1$

            boolean comma = false;
            for (FullyQualifiedJavaType fqjt : getSuperInterfaceTypes()) {
                if (comma) {
                    sb.append(", "); //$NON-NLS-1$
                } else {
                    comma = true;
                }

                sb.append(fqjt.getShortName());
            }
        }

        sb.append(" {"); //$NON-NLS-1$
        indentLevel++;

        Iterator<Method> mtdIter = getMethods().iterator();
        while (mtdIter.hasNext()) {
            newLine(sb);
            Method method = mtdIter.next();
            sb.append(method.getFormattedContent(indentLevel, true));
            if (mtdIter.hasNext()) {
                newLine(sb);
            }
        }

        indentLevel--;
        newLine(sb);
// Path: src/main/java/org/mybatis/generator/api/dom/OutputUtilities.java
// public static Set<String> calculateImports(
//         Set<FullyQualifiedJavaType> importedTypes) {
//     StringBuilder sb = new StringBuilder();
//     Set<String> importStrings = new TreeSet<String>();
//     for (FullyQualifiedJavaType fqjt : importedTypes) {
//         for (String importString : fqjt.getImportList()) {
//             sb.setLength(0);
//             sb.append("import "); //$NON-NLS-1$
//             sb.append(importString);
//             sb.append(';');
//             importStrings.add(sb.toString());
//         }
//     }
// 
//     return importStrings;
// }
// 
// Path: src/main/java/org/mybatis/generator/api/dom/OutputUtilities.java
// public static void javaIndent(StringBuilder sb, int indentLevel) {
//     for (int i = 0; i < indentLevel; i++) {
//         sb.append("    "); //$NON-NLS-1$
//     }
// }
// 
// Path: src/main/java/org/mybatis/generator/api/dom/OutputUtilities.java
// public static void newLine(StringBuilder sb) {
//     sb.append(lineSeparator);
// }


// Path: src/main/java/org/mybatis/generator/api/dom/java/Interface.java
import static org.mybatis.generator.api.dom.OutputUtilities.calculateImports;
import static org.mybatis.generator.api.dom.OutputUtilities.javaIndent;
import static org.mybatis.generator.api.dom.OutputUtilities.newLine;
import static org.mybatis.generator.internal.util.StringUtility.stringHasValue;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

        if (getSuperInterfaceTypes().size() > 0) {
            sb.append(" extends "); //$NON-NLS-1$

            boolean comma = false;
            for (FullyQualifiedJavaType fqjt : getSuperInterfaceTypes()) {
                if (comma) {
                    sb.append(", "); //$NON-NLS-1$
                } else {
                    comma = true;
                }

                sb.append(fqjt.getShortName());
            }
        }

        sb.append(" {"); //$NON-NLS-1$
        indentLevel++;

        Iterator<Method> mtdIter = getMethods().iterator();
        while (mtdIter.hasNext()) {
            newLine(sb);
            Method method = mtdIter.next();
            sb.append(method.getFormattedContent(indentLevel, true));
            if (mtdIter.hasNext()) {
                newLine(sb);
            }
        }

        indentLevel--;
        newLine(sb);
        javaIndent(sb, indentLevel);