mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-30 21:08:30 +08:00
fixed array type handling
This commit is contained in:
parent
3124eca34b
commit
1402095954
2
pom.xml
2
pom.xml
@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.mysema.codegen</groupId>
|
||||
<artifactId>codegen</artifactId>
|
||||
<version>0.3.2-SNAPSHOT</version>
|
||||
<version>0.3.3</version>
|
||||
<name>Codegen</name>
|
||||
<description>Code generation and compilation for Java</description>
|
||||
<parent>
|
||||
|
||||
@ -29,6 +29,8 @@ public class ClassType implements Type {
|
||||
|
||||
private final Class<?> javaClass;
|
||||
|
||||
private final String className;
|
||||
|
||||
private final List<Type> parameters;
|
||||
|
||||
@Nullable
|
||||
@ -50,6 +52,7 @@ public class ClassType implements Type {
|
||||
this.javaClass = javaClass;
|
||||
this.primitiveClass = primitiveClass;
|
||||
this.parameters = parameters;
|
||||
this.className = ClassUtils.getFullName(javaClass);
|
||||
}
|
||||
|
||||
public ClassType(TypeCategory category, Class<?> javaClass, List<Type> parameters) {
|
||||
@ -85,7 +88,7 @@ public class ClassType implements Type {
|
||||
return true;
|
||||
}else if (o instanceof Type){
|
||||
Type t = (Type)o;
|
||||
return t.getFullName().equals(javaClass.getName()) && t.getParameters().equals(parameters);
|
||||
return t.getFullName().equals(className) && t.getParameters().equals(parameters);
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
@ -106,7 +109,7 @@ public class ClassType implements Type {
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
return ClassUtils.getFullName(javaClass);
|
||||
return className;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -170,7 +173,7 @@ public class ClassType implements Type {
|
||||
|
||||
@Override
|
||||
public int hashCode(){
|
||||
return javaClass.getName().hashCode();
|
||||
return className.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -29,13 +29,20 @@ public class ClassTypeTest {
|
||||
assertEquals("java.lang", type.getPackageName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ArrayType_Equals_SimpleType(){
|
||||
Type type = new ClassType(TypeCategory.ARRAY,String[].class);
|
||||
Type type2 = new SimpleType("java.lang.String[]", "java.lang", "String[]");
|
||||
assertEquals(type, type2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void As(){
|
||||
assertEquals(TypeCategory.COMPARABLE, stringType.as(TypeCategory.COMPARABLE).getCategory());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getParameters(){
|
||||
public void GetParameters(){
|
||||
ClassType mapType = new ClassType(TypeCategory.MAP, Map.class, stringType, stringType);
|
||||
assertEquals(2, mapType.getParameters().size());
|
||||
assertEquals(stringType, mapType.getParameters().get(0));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user