public static Object getProperty()

in src/main/java/com/ql/util/express/ExpressUtil.java [603:632]


    public static Object getProperty(Object bean, Object name) {
        try {
            if (bean == null && QLExpressRunStrategy.isAvoidNullPointer()) {
                return null;
            }
            if (bean == null) {
                throw new QLException("对象为空,不能获取属性:" + name);
            }
            if (bean.getClass().isArray() && "length".equals(name)) {
                return Array.getLength(bean);
            } else if (bean instanceof Class) {
                if ("class".equals(name)) {
                    return bean;
                } else if (QLExpressRunStrategy.isSandboxMode()) {
                    throw new QLException("无法获取属性:" + name);
                } else {
                    Field f = ((Class<?>)bean).getDeclaredField(name.toString());
                    return f.get(null);
                }
            } else if (bean instanceof Map) {
                return ((Map<?, ?>)bean).get(name);
            } else if (QLExpressRunStrategy.isSandboxMode()) {
                throw new QLException("无法获取属性:" + name);
            } else {
                return QLAliasUtils.getProperty(bean, name.toString());
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }