1
我在ecore模型上使用OCL約束並生成代碼。所以事情就像這樣簡單 我有一個類任務有屬性startDate
和endDate
它有一個ocl約束: - 不變,其狀態startDate < endDate
。如何從java的主代碼調用OCL約束(生成模型的java源代碼)
我已生成的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
}
}
就這樣,您知道您使用引號(''')代替代碼('{}')來格式化代碼。 –