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

标签 java eclipse-emf-ecore ocl

我正在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);    
  }
}

那么,从我的主类(class)中,我如何在这里验证我的任务。我想调用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.eINSTANCE 创建模型的实例,并且可以使用 Diagnostician.INSTANCE 验证建模对象上的所有约束。

关于java - 如何从java主代码中调用OCL约束(生成模型的java源代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13277756/

相关文章:

eclipse-emf - 在 FOR 循环内递增变量

java - 如何从字符串分词器函数中设计和分割标记?

java - EMF eclipse : enumeration with custom fields (properties)

eclipse-plugin - Eclipse Papyrus 上的 OCL 约束检查

eclipse - 在 Eclipse 之外运行 Ecore 模型的 EMF 验证

java - 使用 EMF 加载 XML 文件时 "Package with uri ' null ' not found"

linux - 将 hashCat 与 RAR 文件一起使用?

java二叉搜索树查找父节点

java - 在 Eclipse 中集成 SWIG

java - 我如何更改它以使用我的电视类(class)?