如何调用Java主要代码的OCL约束(生成的Java源代码)



我正在使用Ecore模型上的OCL约束和生成代码。所以事情就像这样简单我有一个具有属性startDateendDate的类任务它具有一个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         
  }     
} 

您更有可能使用eclipse.modeling.mdt.ocl或eclipse.tools.emf论坛获得快速的答案。当然,您使用tmsfactory.Eintance创建模型的实例,并且可以使用Diagnostician.intance来验证对模型对象的所有约束。

相关内容

  • 没有找到相关文章

最新更新