通过反射机制实现 树的逻辑处理
2013-05-21 11:41
323 查看
public BigDecimal Tree(List<CareCriteria> careCriterias, AuthorizationForm myForm,
String noteId) throws SecurityException, NoSuchFieldException,
IllegalArgumentException, IllegalAccessException {
BigDecimal physical = new BigDecimal("0");
for(CareCriteria careCriteria : careCriterias) {
if(noteId.equals(careCriteria.noteId)) {
if("1".equals(careCriteria.endFlag)) {
physical = careCriteria.endValue;
return physical;
}
if(careCriteria.objectGroup !=null && !"".equals(careCriteria.objectGroup)) {
Class<?> demo = AuthorizationService.class;
Field field = demo.getDeclaredField(careCriteria.objectGroup);
field.setAccessible(true);
BigDecimal zou = new BigDecimal("0");
zou = zou.add((BigDecimal) field.get(this));
if(zou.compareTo(careCriteria.groupDatumValue) == 1) {
return Tree(careCriterias,myForm,careCriteria.nextNoteNo);
}else{
return Tree(careCriterias,myForm,careCriteria.nextNoteYes);
}
}else if(careCriteria.objectItem != null && !"".equals(careCriteria.objectItem)){
Class<?> demo = myForm.authoriza.getClass();
Field field = demo.getDeclaredField(careCriteria.objectItem);
field.setAccessible(true);
String strings[] = careCriteria.objectDatumValue.split(",");
for(String value :strings){
if(field.get(myForm.authoriza).equals(value)){
return Tree(careCriterias,myForm,careCriteria.nextNoteYes);
}
}
return Tree(careCriterias,myForm,careCriteria.nextNoteNo);
}
}
}
return null;
}
String noteId) throws SecurityException, NoSuchFieldException,
IllegalArgumentException, IllegalAccessException {
BigDecimal physical = new BigDecimal("0");
for(CareCriteria careCriteria : careCriterias) {
if(noteId.equals(careCriteria.noteId)) {
if("1".equals(careCriteria.endFlag)) {
physical = careCriteria.endValue;
return physical;
}
if(careCriteria.objectGroup !=null && !"".equals(careCriteria.objectGroup)) {
Class<?> demo = AuthorizationService.class;
Field field = demo.getDeclaredField(careCriteria.objectGroup);
field.setAccessible(true);
BigDecimal zou = new BigDecimal("0");
zou = zou.add((BigDecimal) field.get(this));
if(zou.compareTo(careCriteria.groupDatumValue) == 1) {
return Tree(careCriterias,myForm,careCriteria.nextNoteNo);
}else{
return Tree(careCriterias,myForm,careCriteria.nextNoteYes);
}
}else if(careCriteria.objectItem != null && !"".equals(careCriteria.objectItem)){
Class<?> demo = myForm.authoriza.getClass();
Field field = demo.getDeclaredField(careCriteria.objectItem);
field.setAccessible(true);
String strings[] = careCriteria.objectDatumValue.split(",");
for(String value :strings){
if(field.get(myForm.authoriza).equals(value)){
return Tree(careCriterias,myForm,careCriteria.nextNoteYes);
}
}
return Tree(careCriterias,myForm,careCriteria.nextNoteNo);
}
}
}
return null;
}
相关文章推荐
- 利用java 反射机制来实现一个servlet处理多种请求
- Column注解的的RetentionPolicy的属性值是RUTIME,这样注解处理器可以通过反射,获取到该注解的属性值,从而去做一些运行时的逻辑处理
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 通过Java的反射机制实现对象的拷贝
- 通过Android的反射机制实现系统属性的设置和获取
- 通过反射机制来实现findViewById
- C++ 实现通过类名来进行实例化(反射机制?)
- python之通过“反射”实现不同的url指向不同函数进行处理(反射应用一)
- C语言实现责任链二通过配置文件改变处理逻辑
- 通过java的反射机制实现Map、JavaBean、JSON的相互转换工具类
- 如何理解java中的依赖注入 通过构造函数和反射机制来实现的
- 通过php反射机制实现栏目显示
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 通过反射机制实现加一操作
- 通过反射实现Java下的委托机制代码详解
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- Qt键盘驱动处理类的实现:Qt键盘驱动处理类的实现,通过Qt的插件机制实现嵌入式开发中的自定义键盘处理。