EReference的containment和container属性

简介:

EReference的containment属性如果为true,表示目标EClass是被源EClass包含的,这是一种十分强的关系,例如汽车和车轮的关系。在ecore里,不允许包含关系形成圈,也就是说如果A包含B,B就不能再直接或间接的包含A;另外,如果作为容器的对象结束了自己的生命周期,被它包含的对象也将结束自己的生命周期。

如果一个EReference有作为EOpposite的EReference,并且后者的containment属性为true,则这个EReference的container属性为true。说白了,一个EReference的container属性表示它指向的EClass是否为包含者。

public boolean isContainer()
{
  EReference theOpposite = getEOpposite();
  return theOpposite != null && theOpposite.isContainment();
}

最后,container属性是derived属性,所以在ecore编辑器里我们无法直接编辑一个EReference的这个属性。

本文转自博客园八进制的博客,原文链接:EReference的containment和container属性,如需转载请自行联系原博主。

相关文章
|
JavaScript
04avalon - vm内部属性($id)
04avalon - vm内部属性($id)
54 0
|
2月前
|
前端开发 容器
Container
【10月更文挑战第21天】
51 5
|
Swift 容器
SwiftUI 中自定义 container
自定义容器是在 Swift UI 中实现复杂布局和视图组合的强大工具。通过自定义容器,我们可以将一组视图组织在一起,以创建可重用的 UI 元素,同时保持一致的外观和行为。在本文中,我们将探讨如何使用自定义容器来实现一个主题,并深入了解其设计和实现细节。
|
容器
Element el-container 布局容器组件详解
本文目录 1. 背景 2. 全局样式 3. 布局代码 4. 增加导航菜单 5. 小结
2769 0
Element el-container 布局容器组件详解
|
运维 Kubernetes Devops
K8S Container解析
今天,我们聊一下Kubernetes Container相关话题,什么是Container?
155 0
|
前端开发 开发者 容器
display 属性和实例| 学习笔记
快速学习 display 属性和实例。
display 属性和实例| 学习笔记
flex布局之容器元素属性
flex布局之容器元素属性
|
Python 容器
构造自定义容器(Container)
构造自定义容器(Container)