diff --git a/src/main/java/com/mysema/codegen/model/ClassType.java b/src/main/java/com/mysema/codegen/model/ClassType.java index 3eb9e0e86..e9d8a1e4e 100644 --- a/src/main/java/com/mysema/codegen/model/ClassType.java +++ b/src/main/java/com/mysema/codegen/model/ClassType.java @@ -106,7 +106,7 @@ public class ClassType implements Type { @Override public String getFullName() { - return javaClass.getName(); + return ClassUtils.getFullName(javaClass); } @Override diff --git a/src/main/java/com/mysema/codegen/support/ClassUtils.java b/src/main/java/com/mysema/codegen/support/ClassUtils.java index be0cab66f..3093dfd45 100644 --- a/src/main/java/com/mysema/codegen/support/ClassUtils.java +++ b/src/main/java/com/mysema/codegen/support/ClassUtils.java @@ -21,6 +21,15 @@ public final class ClassUtils { return getName(cl, Collections.singleton("java.lang"), Collections.emptySet()); } + + public static String getFullName(Class cl) { + if (cl.isArray()){ + return getFullName(cl.getComponentType()) + "[]"; + }else{ + return cl.getName(); + } + } + public static String getName(Class cl, Set packages, Set classes) { if (cl.isArray()) { return getName(cl.getComponentType(), packages, classes) + "[]"; @@ -53,4 +62,5 @@ public final class ClassUtils { } private ClassUtils(){} + } diff --git a/src/test/java/com/mysema/codegen/model/ClassTypeTest.java b/src/test/java/com/mysema/codegen/model/ClassTypeTest.java index 06f27b747..844af1f92 100644 --- a/src/test/java/com/mysema/codegen/model/ClassTypeTest.java +++ b/src/test/java/com/mysema/codegen/model/ClassTypeTest.java @@ -42,6 +42,15 @@ public class ClassTypeTest { public void Primitive_Arrays(){ ClassType byteArray = new ClassType(byte[].class); assertEquals("byte[]", byteArray.getRawName(Collections.singleton("java.lang"), Collections.emptySet())); + assertEquals("byte[]", byteArray.getSimpleName()); + assertEquals("byte[]", byteArray.getFullName()); } + @Test + public void Array(){ + ClassType byteArray = new ClassType(Byte[].class); + assertEquals("Byte[]", byteArray.getRawName(Collections.singleton("java.lang"), Collections.emptySet())); + assertEquals("Byte[]", byteArray.getSimpleName()); + assertEquals("java.lang.Byte[]", byteArray.getFullName()); + } } diff --git a/src/test/java/com/mysema/codegen/model/SimpleTypeTest.java b/src/test/java/com/mysema/codegen/model/SimpleTypeTest.java new file mode 100644 index 000000000..697a84103 --- /dev/null +++ b/src/test/java/com/mysema/codegen/model/SimpleTypeTest.java @@ -0,0 +1,19 @@ +package com.mysema.codegen.model; + +import static org.junit.Assert.assertEquals; + +import java.util.Collections; + +import org.junit.Test; + +public class SimpleTypeTest { + + @Test + public void PrimitiveArray(){ + Type byteArray = new ClassType(byte[].class); + Type byteArray2 = new SimpleType(byteArray, byteArray.getParameters()); + assertEquals("byte[]", byteArray.getRawName(Collections.singleton("java.lang"), Collections.emptySet())); + assertEquals("byte[]", byteArray2.getRawName(Collections.singleton("java.lang"), Collections.emptySet())); + } + +}