![JAR search and dependency download from the Maven repository](/logo.png)
org.test4j.mock.processor.filer.ClassNames Maven / Gradle / Ivy
package org.test4j.mock.processor.filer;
import com.squareup.javapoet.ArrayTypeName;
import com.squareup.javapoet.ClassName;
import com.squareup.javapoet.TypeName;
import java.util.HashMap;
import java.util.Map;
public class ClassNames {
public static final String MockUp_Suffix = "MockUp";
public static final String Mock_Package_Prefix = "mock";
public static final String Mock_Package_WithDot = Mock_Package_Prefix + ".";
public static final ClassName CN_Bean = ClassName.get("org.springframework.context.annotation", "Bean");
public static final ClassName CN_Configuration = ClassName.get("org.springframework.context.annotation", "Configuration");
private static Map primitiveBoxed = new HashMap<>(16);
private static Map primitiveArray = new HashMap<>(16);
static {
primitiveBoxed.put("void", ClassName.get(Void.class));
primitiveBoxed.put("boolean", ClassName.get(Boolean.class));
primitiveBoxed.put("char", ClassName.get(Character.class));
primitiveBoxed.put("byte", ClassName.get(Byte.class));
primitiveBoxed.put("short", ClassName.get(Short.class));
primitiveBoxed.put("int", ClassName.get(Integer.class));
primitiveBoxed.put("float", ClassName.get(Float.class));
primitiveBoxed.put("long", ClassName.get(Long.class));
primitiveBoxed.put("double", ClassName.get(Double.class));
// 排除void
// primitives.put("void", ClassName.VOID);
primitiveArray.put("boolean[]", ArrayTypeName.of(ClassName.BOOLEAN));
primitiveArray.put("char[]", ArrayTypeName.of(ClassName.CHAR));
primitiveArray.put("byte[]", ArrayTypeName.of(ClassName.BYTE));
primitiveArray.put("short[]", ArrayTypeName.of(ClassName.SHORT));
primitiveArray.put("int[]", ArrayTypeName.of(ClassName.INT));
primitiveArray.put("float[]", ArrayTypeName.of(ClassName.FLOAT));
primitiveArray.put("long[]", ArrayTypeName.of(ClassName.LONG));
primitiveArray.put("double[]", ArrayTypeName.of(ClassName.DOUBLE));
}
private ClassNames() {
}
public static ClassName getClassName(String fullName) {
if (primitiveBoxed.containsKey(fullName)) {
return primitiveBoxed.get(fullName);
}
int index = fullName.lastIndexOf('.');
String packName = index < 0 ? "" : fullName.substring(0, index);
String className = index < 0 ? fullName : fullName.substring(index + 1);
return ClassName.get(packName, className);
}
/**
* 方法返回值类型
* - 对primitive数组特殊处理
* - 对数组进行处理
*
* @param fullName
* @return
*/
public static TypeName getReturnType(String fullName) {
if (primitiveArray.containsKey(fullName)) {
return primitiveArray.get(fullName);
} else if (fullName.endsWith("[]")) {
TypeName typeName = getReturnType(fullName.substring(0, fullName.length() - 2));
return ArrayTypeName.of(typeName);
} else {
return getClassName(fullName);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy