JAVA标注实现统一的前后台

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

if (Integer.parseInt(fieldValue) < minValue) {

validityResult.addValidityInfo(fieldDescMap.get(currFieldName) + ” 的值不可以小于 ” + minValue + “! “);

}

if (Integer.parseInt(fieldValue) > maxValue) {

validityResult.addValidityInfo(fieldDescMap.get(currFieldName) + ” 的值不可以大于 ” + maxValue + “! “);

}

}

else {

validityResult.addValidityInfo(fieldDescMap.get(currFieldName) + ” 必须是整数格式 ! “);

}

}

return validityResult;

}

public static String[] getPojoBeanPackageName() {

return pojoBeanPackageName;

}

public static void setPojoBeanPackageName(String[] pojoBeanPackageName) {

PojoBeanAnnotationValiditer.pojoBeanPackageName = pojoBeanPackageName;

}

public static String getJsValiditerFilePath() {

return jsValiditerFilePath;

}

public static void setJsValiditerFilePath(String jsValiditerFilePath) {

PojoBeanAnnotationValiditer.jsValiditerFilePath = jsValiditerFilePath;

}

public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, SecurityException,

NoSuchMethodException, InvocationTargetException, ClassNotFoundException, IOException {

PojoBeanAnnotationValiditer.setPojoBeanPackageName(new String[] { “com.javaest.validity.test.pojo” });

PojoBeanAnnotationValiditer.setJsValiditerFilePath(”JS\\VALIDITY”);

PojoBeanAnnotationValiditer

.loadAllClassAnnotationValidityInfoInPackage(new String[] { “com.javaest.validity.test.pojo” });

Student aStudent = new Student();

aStudent.setAddress(”吉林省长春市二道区”);

aStudent.setId(””);

aStudent.setAge(”9″);

ValidityResult validityResult = PojoBeanAnnotationValiditer.validity(aStudent);

}

}

package com.javaest.validity.process;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.lang.reflect.Field;

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import com.javaest.util.StringUtils;

import com.javaest.validity.annotation.CanNotNull;

import com.javaest.validity.annotation.FieldDesc;

import com.javaest.validity.annotation.IsInteger;

import com.javaest.validity.test.pojo.Student;

public class PojoBeanAnnotationValiditer {

private static MapallValidityRuleMap = new HashMap();

private static MapallFieldDescMap = new HashMap();

private static String jsValiditerFilePath;

private static String[] pojoBeanPackageName;

/**

*

将指定的包下边的所有Pojo类的标注信息一次性的读取到Map中,以备以后验证对象时使用

*/

public static void loadAllClassAnnotationValidityInfoInPackage(String[] packageNameArr)

throws IllegalArgumentException, SecurityException, IllegalAccessException, NoSuchMethodException,

InvocationTargetException, ClassNotFoundException, IOException {

for (int i = 0; i < packageNameArr.length; i++) {

ListclassList = ReflectUtils.getAllClassInPackage(packageNameArr[i]);

for (int j = 0; j < classList.size(); j++) {

Class currClass = classList.get(j);

String classFullName = currClass.getPackage()。getName() + “.” + currClass.getName();

Map[] validityRuleMapAndFieldDescMap = loadValidityRuleAndCreateValidityJsFile(currClass);

allValidityRuleMap.put(classFullName, validityRuleMapAndFieldDescMap[0]);

allFieldDescMap.put(classFullName, validityRuleMapAndFieldDescMap[1]);

}

}

}

/*

[1][2][3][4][5][6][7][8]

在你成功地把自己推销给别人之前,你必须百

JAVA标注实现统一的前后台

相关文章:

你感兴趣的文章:

标签云: