📄 annotationvalidationconfigurationbuilder.java
字号:
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 + -