private static String getTypeName()

in src/main/java/com/amazonaws/eclipse/simpleworkflow/asynchrony/annotationprocessor/ProcessorUtils.java [108:145]


    private static String getTypeName(TypeMirror typeMirror, boolean unboxed, int depth, String generatedTypePackageName) {
        String typeName;
        if (isPrimitive(typeMirror)) {
            if (unboxed) {
                typeName = typeMirror.toString();
            } else {
                typeName = PrimitiveTypeHelper.getWrapper(typeMirror.toString());
            }
        } 
        else if (isVoidType(typeMirror)) {
            typeName = "Void";
        }
        else if (depth == 1 && isPromiseType(typeMirror)) {
            DeclaredType pType = (DeclaredType) typeMirror;
            List<? extends TypeMirror> typeArguments = pType.getTypeArguments();
            if (typeArguments.size() == 0) {
                typeName = "Void";
            }
            else {
                typeName = getTypeName(typeArguments.iterator().next(), unboxed, depth + 1, generatedTypePackageName);
            }
        }
        else if (isArrayType(typeMirror)) {
            ArrayType aType = (ArrayType) typeMirror;
            typeName = getTypeName(aType.getComponentType(), unboxed, depth + 1, generatedTypePackageName) + "[]";
        }
        else {
            typeName = typeMirror.toString();
        }

        if (isJavaLangType(typeMirror)) {
            typeName = typeMirror.toString().substring(JAVA_LANG_PREFIX.length());
        }
        if (isTypePackage(typeMirror, generatedTypePackageName)) {
            typeName = typeMirror.toString().substring(generatedTypePackageName.length() + 1);
        }
        return typeName;
    }