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));
+ }
+
}