【发布时间】:2012-11-07 20:35:47
【问题描述】:
我在 ecore 模型上使用 OCL 约束并生成代码。所以事情就这么简单
我有一个具有属性startDate 和endDate 的任务类
它有一个 ocl 约束:- 声明 startDate < endDate 的不变量。
我已经为这个项目生成了java代码,并且有一个java类:
public class TmsValidator extends EObjectValidator {
//what is diagnosticChain and context in the below method
public boolean validateTask_C2(Task task, DiagnosticChain diagnostics, Map<Object, Object context) {
return validate(TmsPackage.Literals.TASK,
task,
diagnostics,
context,
"http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
"C2",
TASK__C2__EEXPRESSION,
Diagnostic.ERROR,
DIAGNOSTIC_SOURCE,
0);
}
}
所以从我的主课中,我如何在这里验证我的任务。我想打电话给 OCL
检查startDate是否小于endDate的约束
public class {
public static void main(String []a){
Task t = new
Task ();
// How do I validate my task here . I want to call the
//OCL constraint to check if startDate is less than endDate
}
}
【问题讨论】:
-
只是为了让您知道您已使用引号 (
") 而不是代码 ({ }) 来格式化代码。
标签: java eclipse-emf-ecore ocl