使用 EMF Validation 框架来验证 EMF 模型
2010-03-03 00:00:00 来源:WEB开发网批量验证模式的示例代码如清单 1 所示:
清单 1. 批量验证模式的示例代码
List objects = myResource.getContents();
IValidator validator = ModelValidationService.getInstance().newValidator(EvaluationMode.BATCH);
IStatus results = validator.validate(objects);
if (!results.isOK()) {
ErrorDialog.openError(null, "Validation", "Validation Failed", results);
}
实时验证模式则用来实时地对对象内的属性(值)变更进行校验。和批量验证模式不同的是,它的输入是属性(值)变更的通知消息,清单 2 就是实时验证模式的代码示例。
清单 2. 实时验证模式的代码示例
List notifications = transaction.getChanges();
IValidator validator = ModelValidationService.getInstance().
newValidator(EvaluationMode.LIVE);
IStatus results = validator.validate(notifications);
if (!results.isOK()) {
ErrorDialog.openError(null, "Validation", "Validation Failed", results);
}
约束绑定(Constraint Binding)
定义了这么多的约束,具体的应用又是如何选择约束来完成任务呢?约束绑定就是设计来完成这个任务的 ,通过 org.eclipse.emf.validation.constraintBindings扩展点,应用可以明确出它拥有的对象,绑定到它所需要的约束。这样验证操作就能够确保对象符合了相应的约束了。在下面的章节将会详细介绍如何进行约束绑定。
使用 EMF Validation Framework 来“保护”library 模型
Tags:使用 EMF Validation
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接