このモデルの問題点:
/** @model abstract="true" */
public interface ContainedObject {
/** @model */
public Container getContainer();
}
/** @model abstract="true" */
public interface Container extends ContainedObject { }
/* @model */
public interface Category extends Container {
/** @model containment="true" opposite="container" */
public List<Category> getCategories();
/** @model containment="true" opposite="container" */
public List<Variable> getVariables();
}
/** @model */
public interface Variable extends ContainedObject { }
含まれているオブジェクトとそのコンテナーの間の双方向性が必要です。上記の Java の場合、.genmodel を作成しようとすると、次のエラー メッセージが表示されます。
the opposite 'container' already has attribute 'categories' of 'Category'
as its opposite
このモデルの何が問題になっていますか?