2007-05-30
围绕EMF探索(4)之Validation组件图
前索引:围绕EMF探索(1)之存储和查询
前索引:围绕EMF探索(2)之再探查询组件
前索引:围绕EMF探索(3)之初探OCL
围绕EMF探索(4)之Validation组件图
EMF Validation Framework提供了对EMF eObjects的校验框架。这种校验框架支持两个层面的:第一个层面可以对一个集合内的eObjects进行校验,第二个层面可以时时地对对象内的属性(值)变更进行校验。
这几天利用有限的空余时间在钻研EMF Validation Framework。原以为Validation会比较简单(使用Validation倒是比较简单),其实却不然。为了弄清楚Validation内部实现类及构架机制,着实耗费了不少时间。
EMF的Validation Framework使用是很比较简单的,最简单的方式可以通过扩展org.eclipse.emf.validation.constraintProviders扩展点,通过构造特定的AbstractModelConstraint实现类来对eObjects进行校验。但EMF Validation Framework的结构是非常复杂的,这也是由于Validation试图提供更加复杂全面的检验框架:
(1) 提供对Batch Validator和Live Validator的支持
(2) 提供对多种声明Constraint的方式支持,目前支持Java类的方式,就是前面提到的通过实现用户自己的AbstractModelConstraint类;支持EMF Constraint和灵活的OCL Constraint方式。
(3) 提供了较为简单的Validation Adaptor方式进行校验
(4) 试图提供一个Validation Client Context来规避不必要的Constraint
(5) 提供了便于管理和维护的Validation Service类
在eclipse所提供的帮助站点上,提供了对Validation Framework的简要介绍,以及简单的Examples。
但是这个tutorial并没有对EMF Validation进行太深入地介绍,仅仅只是介绍了比较浅显的“How to use it”,而没有深入的介绍Validation的构架、对象逻辑等等。
为了便于理解EMF Validation,将主要的Component Diagram绘制如下。这个组件图要抽象了很多,其实里面的组件有些是相当的复杂的。比如Constraint Parser和Model Constraint。

时间不早了,有关组件的详细解释先不写了,留着下篇吧。不过这个组件图应该可以帮助大家在阅读Validation代码的时候起到一定辅助作用。
发表评论
- 浏览: 15885 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
改善脑力的70条方法[翻译 ...
太多了,有点不切实际,精简下
-- by javahead -
又有免费Java电子书下了
你好 我是一个学生 刚刚学习java 我以前没有接触过计算机 现在学习非常的吃力 ...
-- by 书剑飘零






评论排行榜