private Class getClassInner()

in src/main/java/com/ql/util/express/parse/ExpressPackage.java [61:116]


    private Class<?> getClassInner(String name, boolean isRootCall) {
        Class<?> result = null;
        if (isRootCall) {
            // 如果本身具有包名,这直接定位
            if (name.contains(".")) {
                try {
                    result = ExpressUtil.loadClass(name);
                } catch (Throwable ignore) {
                }
                return result;
            }
            if (Integer.TYPE.getName().equals(name)) {
                return Integer.TYPE;
            }
            if (Short.TYPE.getName().equals(name)) {
                return Short.TYPE;
            }
            if (Long.TYPE.getName().equals(name)) {
                return Long.TYPE;
            }
            if (Double.TYPE.getName().equals(name)) {
                return Double.TYPE;
            }
            if (Float.TYPE.getName().equals(name)) {
                return Float.TYPE;
            }
            if (Byte.TYPE.getName().equals(name)) {
                return Byte.TYPE;
            }
            if (Character.TYPE.getName().equals(name)) {
                return Character.TYPE;
            }
            if (Boolean.TYPE.getName().equals(name)) {
                return Boolean.TYPE;
            }
        }
        if (this.packages != null) {
            for (String aPackage : packages) {
                String tmp;
                if (aPackage.endsWith("." + name)) {
                    tmp = aPackage;
                } else {
                    tmp = aPackage + "." + name;
                }
                try {
                    result = ExpressUtil.loadClass(tmp);
                } catch (ClassNotFoundException ex) {
                    // 不做任何操作
                }
                if (result != null) {
                    return result;
                }
            }
        }
        return null;
    }