Package cn.org.rapid_framework.generator.util.typemapping

Source Code of cn.org.rapid_framework.generator.util.typemapping.JavaImport

package cn.org.rapid_framework.generator.util.typemapping;

import java.util.Set;
import java.util.TreeSet;

import cn.org.rapid_framework.generator.provider.java.model.JavaClass;
import cn.org.rapid_framework.generator.util.StringHelper;

public class JavaImport {
    TreeSet<String> imports = new TreeSet<String>();

    public void addImport(String javaType) {
        if (isNeedImport(javaType)) {
            imports.add(javaType.replace("$", "."));
        }
    }
   
    public void addImport(JavaImport javaImport) {
      if(javaImport != null)
        imports.addAll(javaImport.getImports());
    }

    public TreeSet<String> getImports() {
        return imports;
    }
   
    public static void addImportClass(Set<JavaClass> set, Class... clazzes) {
        if(clazzes == null) return;
        for(Class c : clazzes) {
            if(c == null) continue;
            if(c.getName().startsWith("java.lang.")) continue;
            if(c.isPrimitive()) continue;
            if("void".equals(c.getName())) continue;
            if(JavaImport.isNeedImport(c.getName())) {
                set.add(new JavaClass(c));
            }
        }
    }
   
    public static boolean isNeedImport(String type) {
        if (StringHelper.isBlank(type)) {
            return false;
        }
        if("void".equals(type)) {
          return false;
        }

        if (type.startsWith("java.lang.")) {
            return false;
        }
       
        if(JavaPrimitiveTypeMapping.getPrimitiveTypeOrNull(type) != null) {
          return false;
        }
       
        if ((type.indexOf(".") < 0) || Character.isLowerCase(StringHelper.getJavaClassSimpleName(type).charAt(0))) {
            return false;
        }

        return true;
    }
}
TOP

Related Classes of cn.org.rapid_framework.generator.util.typemapping.JavaImport

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.