ねえ、私はEMF/ECOREに不慣れです。Has-A参照(封じ込め)をモデル化したいのですが、封じ込めは実行時に利用可能である必要があります。それで:
ボリュームのあるさまざまなクラスがあります。したがって、ボリュームはクラスでモデル化されます。
MyVolume
- depth: EDouble
- height: EDouble
- width: EDouble
- volume()
MyClass
- name: EString
- volume: MyVolume
.genmodelを使用してエディターを作成する場合、クラスにボリュームを追加できます。ただし、ボリュームをクラスの一部にして、ユーザーがクラスボリュームを最初に作成しなくても、名前などの属性として使用できるようにする必要があります。また、奥行き、高さ、幅は、エディターのプロパティビューの属性名と同じように表示する必要があります。
モデルのどのプロパティを設定する必要がありますか、それとも目標をアーカイブする別の方法がありますか?
前もって感謝します
ステッフェン
私は「解決策」を見つけました:
- MyVolumeクラスを作成してから、
- My.impl.MyAttributeImplをインスタンスクラス名として使用するデータ型MyVolume。
- 次に、MyClassに属性ボリュームMyVolume(データ型)を作成します。
- したがって、このフィクスチャのようにソースコードの深さにアクセスできます。getVolume()。getDepth();
- ただし、エディタのプロパティビューにはボリュームのみが表示されます。
他にアイデアはありますか?
ステッフェン