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

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

 2010-03-03 00:00:00 来源:WEB开发网   
核心提示: 第四步 将定义好的 Constraint 绑定到应用程序到目前为止,我们已经定义了一个约束并且将它注册到验证服务,使用 EMF Validation 框架来验证 EMF 模型(7),接下来我们需要把这个约束绑定到应用程序,让应用程序知道它的存在,第五步 通过 validation service

第四步 将定义好的 Constraint 绑定到应用程序

到目前为止,我们已经定义了一个约束并且将它注册到验证服务。接下来我们需要把这个约束绑定到应用程序,让应用程序知道它的存在。清单 5 介绍了如何通过定义一个 constraintBindings 的扩展点来实现。

清单 5. 定义一个 constraintBindings 的扩展点

 <extension 
     point="org.eclipse.emf.validation.constraintBindings"> 
    <clientContext 
      default="false" 
      id="emf.validation.example.libraryContext"> 
    <selector class="emf.model.library.validation.constraints.ValidationDelegateClientSelector"/> 
    </clientContext> 
    <binding 
      context="emf.validation.example.libraryContext" 
      category="emf.validation.example.library"/> 
  </extension> 

可以看到,在进行约束绑定时我们首先要定义一个客户端上下文(client context),这通过定义一个对象选择器(IClientSelector)来限定上下文所包含的模型对象集合。接下来再定义用来检查这些模型对象数据的约束,也就是我们在前面所定义的用来检查图书馆对象名称是否为空的约束。

第五步 通过 validation service 来调用 batch constraint

完成上面这些步骤后,我们可以通过验证服务来调用约束对模型进行验证,见清单 6 的代码。

清单 6. 调用约束对模型进行验证

 IBatchValidator validator = (IBatchValidator)ModelValidationService.getInstance() 
 .newValidator(EvaluationMode.BATCH); 
 validator.setIncludeLiveConstraints(true); 
 IStatus status = validator.validate(selectedEObjects); 

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:使用 EMF Validation

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接