⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 annotationvalidationconfigurationbuilder.java

📁 在Struts2中的jar包xwork的源代码.版本为2.0.7
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        params.put("expression", v.expression());        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    private static ValidatorConfig processVisitorFieldValidatorAnnotation(VisitorFieldValidator v, String fieldName) {        String validatorType = "visitor";        Map<String, Object> params = new HashMap<String, Object>();        if (fieldName != null) {            params.put("fieldName", fieldName);        } else if (v.fieldName() != null && v.fieldName().length() > 0 ) {            params.put("fieldName", v.fieldName());        }        params.put("context", v.context());        params.put("appendPrefix", v.appendPrefix());        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    private static ValidatorConfig processUrlValidatorAnnotation(UrlValidator v, String fieldName) {        String validatorType = "url";        Map<String, Object> params = new HashMap<String, Object>();        if (fieldName != null) {            params.put("fieldName", fieldName);        } else if (v.fieldName() != null && v.fieldName().length() > 0 ) {            params.put("fieldName", v.fieldName());        }        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    private static ValidatorConfig processStringLengthFieldValidatorAnnotation(StringLengthFieldValidator v, String fieldName) {        String validatorType = "stringlength";        Map<String, Object> params = new HashMap<String, Object>();        if (fieldName != null) {            params.put("fieldName", fieldName);        } else if (v.fieldName() != null && v.fieldName().length() > 0 ) {            params.put("fieldName", v.fieldName());        }        if ( v.maxLength() != null && v.maxLength().length() > 0) {            params.put("maxLength", v.maxLength());        }        if ( v.minLength() != null && v.minLength().length() > 0) {            params.put("minLength", v.minLength());        }        params.put("trim", v.trim());        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    private static Date parseDateString(String value) {        SimpleDateFormat d1 = (SimpleDateFormat) DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG, Locale.getDefault());        SimpleDateFormat d2 = (SimpleDateFormat)DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM, Locale.getDefault());        SimpleDateFormat d3 = (SimpleDateFormat)DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.getDefault());        SimpleDateFormat[] dfs = {d1, d2, d3};        DateFormat df = null;        for (int i = 0; i < dfs.length; i++) {            try {                Date check = dfs[i].parse(value);                df = dfs[i];                if (check != null) {                    return check;                }            }            catch (ParseException ignore) {            }        }        return null;    }    private static ValidatorConfig processRequiredStringValidatorAnnotation(RequiredStringValidator v, String fieldName) {        String validatorType = "requiredstring";        Map<String, Object> params = new HashMap<String, Object>();        if (fieldName != null) {            params.put("fieldName", fieldName);        } else if (v.fieldName() != null && v.fieldName().length() > 0 ) {            params.put("fieldName", v.fieldName());        }        params.put("trim", v.trim());        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    private static ValidatorConfig processRequiredFieldValidatorAnnotation(RequiredFieldValidator v, String fieldName) {        String validatorType = "required";        Map<String, Object> params = new HashMap<String, Object>();        if (fieldName != null) {            params.put("fieldName", fieldName);        } else if (v.fieldName() != null && v.fieldName().length() > 0 ) {            params.put("fieldName", v.fieldName());        }        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    private static ValidatorConfig processIntRangeFieldValidatorAnnotation(IntRangeFieldValidator v, String fieldName) {        String validatorType = "int";        Map<String, Object> params = new HashMap<String, Object>();        if (fieldName != null) {            params.put("fieldName", fieldName);        } else if (v.fieldName() != null && v.fieldName().length() > 0 ) {            params.put("fieldName", v.fieldName());        }        if ( v.min() != null && v.min().length() > 0) {            params.put("min", v.min());        }        if ( v.max() != null && v.max().length() > 0) {            params.put("max", v.max());        }        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    private static ValidatorConfig processDoubleRangeFieldValidatorAnnotation(DoubleRangeFieldValidator v, String fieldName) {        String validatorType = "double";        Map<String, Object> params = new HashMap<String, Object>();        if (fieldName != null) {            params.put("fieldName", fieldName);        } else if (v.fieldName() != null && v.fieldName().length() > 0 ) {            params.put("fieldName", v.fieldName());        }        if ( v.minInclusive() != null && v.minInclusive().length() > 0) {            params.put("minInclusive", v.minInclusive());        }        if ( v.maxInclusive() != null && v.maxInclusive().length() > 0) {            params.put("maxInclusive", v.maxInclusive());        }        if ( v.minExclusive() != null && v.minExclusive().length() > 0) {            params.put("minExclusive", v.minExclusive());        }        if ( v.maxExclusive() != null && v.maxExclusive().length() > 0) {            params.put("maxExclusive", v.maxExclusive());        }        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    private static ValidatorConfig processFieldExpressionValidatorAnnotation(FieldExpressionValidator v, String fieldName) {        String validatorType = "fieldexpression";        Map<String, Object> params = new HashMap<String, Object>();        if (fieldName != null) {            params.put("fieldName", fieldName);        } else if (v.fieldName() != null && v.fieldName().length() > 0 ) {            params.put("fieldName", v.fieldName());        }        params.put("expression", v.expression());        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    private static ValidatorConfig processEmailValidatorAnnotation(EmailValidator v, String fieldName) {        String validatorType = "email";        Map<String, Object> params = new HashMap<String, Object>();        if (fieldName != null) {            params.put("fieldName", fieldName);        } else if (v.fieldName() != null && v.fieldName().length() > 0 ) {            params.put("fieldName", v.fieldName());        }        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    private static ValidatorConfig processDateRangeFieldValidatorAnnotation(DateRangeFieldValidator v, String fieldName) {        String validatorType = "date";        Map<String, Object> params = new HashMap<String, Object>();        if (fieldName != null) {            params.put("fieldName", fieldName);        } else if (v.fieldName() != null && v.fieldName().length() > 0 ) {            params.put("fieldName", v.fieldName());        }        if ( v.min() != null && v.min().length() > 0) {             final Date minDate = parseDateString(v.min());             params.put("min", minDate == null ? v.min() : minDate);        }        if ( v.max() != null && v.max().length() > 0) {             final Date maxDate = parseDateString(v.max());             params.put("max", maxDate == null ? v.max() : maxDate);        }        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    private static ValidatorConfig processConversionErrorFieldValidatorAnnotation(ConversionErrorFieldValidator v, String fieldName) {        String validatorType = "conversion";        Map<String, Object> params = new HashMap<String, Object>();        if (fieldName != null) {            params.put("fieldName", fieldName);        } else if (v.fieldName() != null && v.fieldName().length() > 0 ) {            params.put("fieldName", v.fieldName());        }        ValidatorFactory.lookupRegisteredValidatorType(validatorType);        ValidatorConfig vCfg = new ValidatorConfig(validatorType, params);        vCfg.setShortCircuit(v.shortCircuit());        vCfg.setDefaultMessage(v.message());        String key = v.key();        if ((key != null) && (key.trim().length() > 0)) {            vCfg.setMessageKey(key);        }        return vCfg;    }    public static List<ValidatorConfig> buildAnnotationClassValidatorConfigs(Class aClass) {        List<ValidatorConfig> result = new ArrayList<ValidatorConfig>();        List<ValidatorConfig> temp = processAnnotations(aClass);        if (temp != null) {            result.addAll(temp);        }        Method[] methods = aClass.getDeclaredMethods();        if ( methods != null ) {            for (Method method : methods) {                temp = processAnnotations(method);                if (temp != null) {                    result.addAll(temp);                }            }        }        return result;    }    /**     * Returns the property name for a method.     * This method is independant from property fields.     *     * @param method The method to get the property name for.     * @return the property name for given method; null if non could be resolved.     */    public static String resolvePropertyName(Method method) {        Matcher matcher = SETTER_PATTERN.matcher(method.getName());        if (matcher.matches() && method.getParameterTypes().length == 1) {            String raw = matcher.group(1);            return raw.substring(0, 1).toLowerCase() + raw.substring(1);        }        matcher = GETTER_PATTERN.matcher(method.getName());        if (matcher.matches() && method.getParameterTypes().length == 0) {            String raw = matcher.group(2);            return raw.substring(0, 1).toLowerCase() + raw.substring(1);        }        return null;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -