org.eclipse.uml2.umlメタモデルに準拠する UML モデルがあるとします。このモデルにはClass、Property、およびownedAttributeそれらの間の関係が含まれているとします。
Ecore レベルでは、ClassとPropertyはEObjectsであり、ownedAttributeはEReferenceです。
私のタスクは次のとおりです。与えられたEObject、そのすべてを取得しますEReferences。これは、次のコード スニペットを使用して実現できます。
for (EReference eRef : myEObject.eClass().getEAllReferences()) {
if (eObject.eIsSet(eRef)) {
// found a relevant EReference
}
}
上記の UML の例に戻ると、このコード スニペットは次のすべてEReferencesをownedElement識別します。ownedMembermemberfeatureattributeownedAttributerole
私の問題: 識別された のうち、EReferencesのみを保持したいと思いownedAttributeます。これは、この関係が UML 標準に従って他のすべてをサブセット化するためです。ただし、Ecore メタモデルは、EReference 間のいかなる種類の階層も指定しません。EReferences興味のないより一般的なものを除外するには、どのようなアプローチを使用できますか?