初步设计校验器框架

项目中有一批文十几种类别,每个文件有若干列。需要对十几类文件做不同类型的校验。如:非空、非数值、长度等。原来就是一堆方法校验,后来重构了下,引入了校验配置文件:


<?xml version="1.0" encoding="GBK" ?>
<sc>

<package value="validator."/>

<A01>
<column id="1" name="gsdm" >
<validator className="V1">
<attribute id="length" value="12"/>
<attribute id="name" value="1col v1 Validator1"/>
<attribute id="memo" value="test"/>
</validator>
<validator className="V2">
<attribute id="length" value="12"/>
<attribute id="name" value="1col v1 Validator2"/>
</validator>
</column>

<column id="2" name="gsdm1">
<validator className="V1">
<attribute id="length" value="12"/>
<attribute id="l" value="2"/>
<attribute id="name" value="2col v1 Validator1"/>
</validator>
</column>

<column id="3" name="gsdm" >
<validator className="V3">
<attribute id="length" value="12"/>
<attribute id="name" value="3col length Validator"/>
</validator>
<validator className="V2">
<attribute id="length" value="12"/>
<attribute id="name" value="3col length Validator2"/>
</validator>
</column>

<column id="4" name="gsdm" >
<validator className="V1">
<attribute id="length" value="12"/>
<attribute id="name" value="4col length Validator"/>
</validator>
</column>

</A01>

</sc>

说明:A01是一类文件,包含若干column,每个column用id标识。每个column可配置1个或多个validator即校验器,validator可有0到N个attribute(属性)。

这样通过解析这个XML文件,做如下组织:
文件校验器MAP:
KEY 对应列ID
    VALUE 对应该列配置的校验器集合,目前实现采用数组。


对于validator校验器,定义一个接口,实现即可。也可以再做个抽象类,这个自己选择就好。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值