假设您已经创建了一个类, 1. 确定要在 OMD 中使用的 IRPModelElements。即类、对象、链接、关联等。 2. 您可以使用收集它们
implPackage.getNestedElementsByMetaClass("Class", 1); // 1 means one level, you can increase it if you have to go deeper nests.
IRPModelElement implClass = null;
for(int i = 1; i < numberOfClasses+1 ; i++) {
elementInCollection = (IRPModelElement)classesOfImplPack.getItem(i);
if( elementInCollection.getMetaClass().equals("Class") && elementInCollection.getDisplayName().equals(componentName+"_Class") )
{
implClass = elementInCollection;
break;
}
}
创建一个集合来收集它们。(我只是添加了一个类作为示例。)
IRPCollection 包 = app.createNewCollection(); 包.setSize(3); packages.setModelElement(1, implObject); packages.setModelElement(2, 关联); packages.setModelElement(3, 链接); //假设你之前收集过它们。
确定要在 OMD 中绘制的内容:
IRPCollection relTypes = app.createNewCollection(); relTypes.setSize(2); relTypes.setString(1, "链接"); relTypes.setString(2, "关联");
创建 OMD
IRPObjectModelDiagram testerOMD = testerPackage.addObjectModelDiagram(componentName+"_Tester_OMD");
填充图
testerOMD.populateDiagram(packages, relTypes, "fromto");