mirror of
https://github.com/querydsl/querydsl.git
synced 2026-07-03 21:07:49 +08:00
Add isMember()
This commit is contained in:
parent
5b6bcd325b
commit
5a3bbb78ae
@ -184,6 +184,11 @@ public class ClassType implements Type {
|
||||
return javaClass.isPrimitive();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMember() {
|
||||
return javaClass.getEnclosingClass() != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getGenericName(true);
|
||||
|
||||
@ -41,7 +41,7 @@ public class SimpleType implements Type {
|
||||
|
||||
private final List<Type> parameters;
|
||||
|
||||
private final boolean primitiveClass, finalClass;
|
||||
private final boolean primitiveClass, finalClass, memberClass;
|
||||
|
||||
private Type arrayType, componentType, enclosingType;
|
||||
|
||||
@ -77,7 +77,7 @@ public class SimpleType implements Type {
|
||||
} else {
|
||||
this.localName = fullName;
|
||||
}
|
||||
if (fullName.substring(packageName.length() + 1).contains(".")) {
|
||||
if (localName.contains(".")) {
|
||||
this.outerClassName = fullName.substring(0, fullName.lastIndexOf('.'));
|
||||
} else {
|
||||
this.outerClassName = fullName;
|
||||
@ -85,6 +85,7 @@ public class SimpleType implements Type {
|
||||
this.primitiveClass = primitiveClass;
|
||||
this.finalClass = finalClass;
|
||||
this.parameters = parameters;
|
||||
this.memberClass = localName.contains(".");
|
||||
}
|
||||
|
||||
public SimpleType(TypeCategory typeCategory, String fullName, String packageName,
|
||||
@ -149,11 +150,7 @@ public class SimpleType implements Type {
|
||||
if (enclosingType == null && localName.contains(".")) {
|
||||
String newLocalName = localName.substring(0, localName.lastIndexOf('.'));
|
||||
String newSimpleName = newLocalName.substring(newLocalName.lastIndexOf('.') + 1);
|
||||
String newFullName = newLocalName;
|
||||
if (packageName.length() > 0) {
|
||||
newFullName = packageName + "." + newLocalName;
|
||||
}
|
||||
enclosingType = new SimpleType(newFullName, packageName, newSimpleName);
|
||||
enclosingType = new SimpleType(outerClassName, packageName, newSimpleName);
|
||||
}
|
||||
return enclosingType;
|
||||
}
|
||||
@ -231,8 +228,9 @@ public class SimpleType implements Type {
|
||||
|
||||
@Override
|
||||
public String getRawName(Set<String> packages, Set<String> classes) {
|
||||
if (packages.contains(packageName) || classes.contains(fullName)
|
||||
|| classes.contains(outerClassName)) {
|
||||
if (classes.contains(fullName)) {
|
||||
return simpleName;
|
||||
} else if (packages.contains(packageName) || classes.contains(outerClassName)) {
|
||||
return localName;
|
||||
} else {
|
||||
return fullName;
|
||||
@ -259,6 +257,11 @@ public class SimpleType implements Type {
|
||||
return primitiveClass;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMember() {
|
||||
return memberClass;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getGenericName(true);
|
||||
|
||||
@ -51,4 +51,6 @@ public interface Type {
|
||||
|
||||
boolean isPrimitive();
|
||||
|
||||
boolean isMember();
|
||||
|
||||
}
|
||||
@ -119,6 +119,11 @@ public class TypeAdapter implements Type {
|
||||
return type.isPrimitive();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMember() {
|
||||
return type.isMember();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return type.toString();
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.mysema.codegen.model;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@ -74,4 +73,10 @@ public class SimpleTypeTest {
|
||||
assertNull(new SimpleType(new ClassType(SimpleTypeTest.class)).getEnclosingType());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void IsMember() {
|
||||
assertTrue(new SimpleType(new ClassType(SimpleTypeTest.Inner.class)).isMember());
|
||||
assertFalse(new SimpleType(new ClassType(SimpleType.class)).isMember());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user