diff --git a/pom.xml b/pom.xml index f033f36fb..0a6ea26a4 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.mysema.codegen codegen - 0.3.6-SNAPSHOT + 0.3.7-SNAPSHOT Codegen Code generation and compilation for Java diff --git a/src/main/java/com/mysema/codegen/model/TypeAdapter.java b/src/main/java/com/mysema/codegen/model/TypeAdapter.java index e06b6a33b..c1e08bd59 100644 --- a/src/main/java/com/mysema/codegen/model/TypeAdapter.java +++ b/src/main/java/com/mysema/codegen/model/TypeAdapter.java @@ -19,7 +19,7 @@ import net.jcip.annotations.Immutable; @Immutable public class TypeAdapter implements Type{ - private final Type type; + protected final Type type; public TypeAdapter(Type type){ this.type = type; diff --git a/src/main/java/com/mysema/codegen/model/TypeExtends.java b/src/main/java/com/mysema/codegen/model/TypeExtends.java index df07e22dd..97ee31cd4 100644 --- a/src/main/java/com/mysema/codegen/model/TypeExtends.java +++ b/src/main/java/com/mysema/codegen/model/TypeExtends.java @@ -31,7 +31,7 @@ public class TypeExtends extends TypeAdapter{ super(type); varName = null; } - + @Override public String getGenericName(boolean asArgType){ return getGenericName(asArgType, Collections.emptySet(),Collections.emptySet()); @@ -40,7 +40,11 @@ public class TypeExtends extends TypeAdapter{ @Override public String getGenericName(boolean asArgType, Set packages, Set classes){ if (!asArgType){ - return "? extends " + super.getGenericName(true, packages, classes); + if (type.equals(Types.OBJECT)){ + return "?"; + }else{ + return "? extends " + super.getGenericName(true, packages, classes); + } }else{ return super.getGenericName(asArgType, packages, classes); } diff --git a/src/test/java/com/mysema/codegen/model/TypeExtendsTest.java b/src/test/java/com/mysema/codegen/model/TypeExtendsTest.java index c599e411b..ac87b4b32 100644 --- a/src/test/java/com/mysema/codegen/model/TypeExtendsTest.java +++ b/src/test/java/com/mysema/codegen/model/TypeExtendsTest.java @@ -21,4 +21,9 @@ public class TypeExtendsTest { assertEquals("java.util.Collection", new TypeExtends(Types.COLLECTION).getGenericName(true)); } + @Test + public void GetGenericName_With_Object(){ + assertEquals("?", new TypeExtends(Types.OBJECT).getGenericName(false)); + } + }