如何从java的主代码调用OCL约束(生成模型的java源代码)

如何从java的主代码调用OCL约束(生成模型的java源代码),java,eclipse-emf-ecore,ocl,Java,Eclipse Emf Ecore,Ocl,我在ecore模型上使用OCL约束并生成代码。事情就这么简单 我有一个具有属性startDate和endDate 它有一个ocl约束:-不变量,表示startDate

我在ecore模型上使用OCL约束并生成代码。事情就这么简单 我有一个具有属性
startDate
endDate
它有一个ocl约束:-不变量,表示
startDate

我已经为这个项目生成了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);    
  }
}

您更有可能使用eclipse.modeling.mdt.ocl或eclipse.tools.emf论坛快速获得答案。当然,您可以使用TmsFactory.eINSTANCE创建模型实例,也可以使用Diagnostician.INSTANCE验证建模对象上的所有约束。

您更可能使用eclipse.modeling.mdt.ocl或eclipse.tools.emf论坛快速获得答案。当然,您可以使用TmsFactory.eINSTANCE创建模型的实例,也可以使用Diagnostician.INSTANCE验证建模对象上的所有约束。

这样您就知道您使用引号(
)而不是代码(
{}
)格式化了代码。这样您就知道您使用引号(
)格式化了代码
)而不是代码(
{}
)。
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         
  }     
}