diff --git a/src/main/java/com/mysema/codegen/ScalaWriter.java b/src/main/java/com/mysema/codegen/ScalaWriter.java index 36db419a9..a9ff4d036 100644 --- a/src/main/java/com/mysema/codegen/ScalaWriter.java +++ b/src/main/java/com/mysema/codegen/ScalaWriter.java @@ -32,7 +32,7 @@ public class ScalaWriter extends AbstractCodeWriter{ private static final String EXTENDS = " extends "; - private static final String IMPLEMENTS = " implements "; + private static final String WITH = " with "; private static final String IMPORT = "import "; @@ -204,12 +204,24 @@ public class ScalaWriter extends AbstractCodeWriter{ append(EXTENDS + getGenericName(false, superClass)); } if (interfaces.length > 0){ - append(IMPLEMENTS); - for (int i = 0; i < interfaces.length; i++){ - if (i > 0){ - append(COMMA); + if (superClass == null){ + append(EXTENDS); + append(getGenericName(false, interfaces[0])); + append(WITH); + for (int i = 1; i < interfaces.length; i++){ + if (i > 1){ + append(COMMA); + } + append(getGenericName(false, interfaces[i])); + } + }else{ + append(WITH); + for (int i = 0; i < interfaces.length; i++){ + if (i > 0){ + append(COMMA); + } + append(getGenericName(false, interfaces[i])); } - append(getGenericName(false, interfaces[i])); } } append(" {").nl().nl(); @@ -237,12 +249,17 @@ public class ScalaWriter extends AbstractCodeWriter{ beginLine(TRAIT + getGenericName(false, type)); if (interfaces.length > 0){ append(EXTENDS); - for (int i = 0; i < interfaces.length; i++){ - if (i > 0){ - append(COMMA); + append(getGenericName(false, interfaces[0])); + if (interfaces.length > 1){ + append(WITH); + for (int i = 1; i < interfaces.length; i++){ + if (i > 1){ + append(COMMA); + } + append(getGenericName(false, interfaces[i])); } - append(getGenericName(false, interfaces[i])); } + } append(" {").nl().nl(); goIn();