public static String fullClassNameToErlType()

in tools/erlanalysis/src/main/java/org/apache/dubbo/erlang/analysis/utils/ErlTypeTransformUtil.java [53:98]


    public static String fullClassNameToErlType(String fullClassName) {
        try {
            String type = null;
            if (fullClassName.startsWith("java.lang") || fullClassName.equals("int") || fullClassName.equals("double") || fullClassName.equals("float")) {
                switch (fullClassName) {
                    case "java.lang.String":
                        type = "list()";
                        break;
                    case "java.lang.Integer":
                        type = "integer()";
                        break;
                    case "java.lang.Boolean":
                        type = "boolean()";
                        break;
                    case "java.lang.Float":
                        type = "float()";
                        break;
                    case "int":
                        type = "integer()";
                        break;
                    case "double":
                        type = "float()";
                        break;
                    default:
                        return "unkonw";
                }

                return type;
            }
            Class<?> classInfo = Class.forName(fullClassName, false, Thread.currentThread().getContextClassLoader());

            if (classInfo.isAssignableFrom(List.class)) {
                type = "[]";
            } else if (classInfo.isAssignableFrom(Map.class)) {
                type = "Map";
            } else if (classInfo.isAssignableFrom(Set.class)) {
                type = "Set";
            } else {
                type = "#" + fullClassNameToLowerShortName(fullClassName) + "{}";
            }
            return type;
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return null;
    }