开发学院软件开发Java 使用 EMF Validation 框架来验证 EMF 模型 阅读

使用 EMF Validation 框架来验证 EMF 模型

 2010-03-03 00:00:00 来源:WEB开发网 闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱闂佸湱铏庨崰鏍不椤栫偞鐓ラ柣鏇炲€圭€氾拷闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁撻悩鎻掔€梺姹囧灩閻忔艾鐣烽弻銉︾厵闁规鍠栭。濂告煕鎼达紕校闁靛洤瀚伴獮鎺楀箣濠靛啫浜鹃柣銏⑶圭壕濠氭煙閻愵剚鐏辨俊鎻掔墛缁绘盯宕卞Δ鍐冣剝绻涘畝濠佺敖缂佽鲸鎹囧畷鎺戭潩閹典焦鐎搁梻浣烘嚀閸ゆ牠骞忛敓锟�婵犵數濮烽弫鍛婃叏椤撱垹绠柛鎰靛枛瀹告繃銇勯幘瀵哥畼闁硅娲熷缁樼瑹閳ь剙岣胯鐓ら柕鍫濇偪濞差亜惟闁宠桨鑳堕崝锕€顪冮妶鍡楃瑐闁煎啿鐖奸崺濠囧即閵忥紕鍘梺鎼炲劗閺呮稒绂掕缁辨帗娼忛埡浣锋闂佽桨鐒﹂幑鍥极閹剧粯鏅搁柨鐕傛嫹闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱闂佸湱铏庨崰鏍不椤栫偞鐓ラ柣鏇炲€圭€氾拷  闂傚倸鍊搁崐鐑芥嚄閼哥數浠氱紓鍌欒兌缁垶銆冮崨鏉戠厺鐎广儱顦崡鎶芥煏韫囨洖校闁诲寒鍓熷铏圭磼濡搫顫嶅銈嗗姉閸樠囧煡婢跺á鐔兼煥鐎n兘鍋撴繝姘拺鐟滅増甯掓禍浼存煕閹惧鈽夐柍缁樻煥椤繈鎳滅喊妯诲闂備礁鎲$粙鎴︺偑閺夋垟鏋旈柡鍐e亾缂佺粯绋撴禒锕傚磼濮橆剦鐎抽梻浣哥-缁垶骞戦崶顒傚祦閻庯綆浜栭弨浠嬫煙闁箑澧い鏂垮€规穱濠囨倷椤忓嫧鍋撻弽褜娼栧┑鐘宠壘閸屻劎鎲歌箛娑樼疅闁圭虎鍠楅弲鎼佹煥閻曞倹瀚�
核心提示: 查看原图(大图)约束的具体实现可以用 JAVA 或者 OCL 语言,用 JAVA 实现的您可以参考下面的图 2,使用 EMF Validation 框架来验证 EMF 模型(2),其约束都是 AbstractModelConstraint 的子类,它必须实现 validate() 方法,输入的通

查看原图(大图)

约束的具体实现可以用 JAVA 或者 OCL 语言,用 JAVA 实现的您可以参考下面的图 2,其约束都是 AbstractModelConstraint 的子类,它必须实现 validate() 方法。这个方法通过输入的验证上下文(IValidationContext)获取目标对象、触发的事件类型等信息,实现业务验证逻辑,并将验证结果通过状态信息(IStatus)报告给用户。

图 2. 约束抽象类和约束上下文等
使用 EMF Validation 框架来验证 EMF 模型

验证上下文(Validation Context)

在上面的图 2 中,我们简单说明了约束和约束上下文之间的关系,约束上下文记录了当前验证操作的有关信息,包括验证的目标对象,触发实时验证的事件类型,模型变化值等。除了记录这些上下文信息外,validation context 还提供了一些提高验证效率的方法。例如方法 skipCurrentConstraintFor()可以用来指定一些的目标对象是“合格的”可以不执行某些验证方法,方法 get/putCurrentConstraintData() 可以用来缓存验证对象。

验证模式(Validation Modes)

EMF Validation Framework 提供两种验证模式:批量验证模式(Batch) 和实时验证模式(Live)。

批量验证模式可以对一个集合内的 EObjects 进行校验 , 通常由用户的动作触发,例如用户点击验证菜单项对整个模型进行验证。批量验证模式时,输入的通常是一个模型元素集合,输出的验证状态信息(IStatus)包括验证过程中所发现的所有问题 ,因此这个结果通常是多状态的。

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 EMF Validation

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接