2

AddCommand`SetCommand"ではなく使用方法を教えてもらえますか?

私はこのようなクラスを持っています:

class Profile {
    List achievements;
    List grades;
    List extracurrics;
}

AddCommandここで、このプロファイルオブジェクトにグレードオブジェクトを追加する必要があると仮定します。これを使用するだけでこれを実現するにはどうすればよいですか。

4

2 に答える 2

2

SetCommandは基本的にEMFモデルの値を設定するために使用され、AddCommandはEMFモデル内のコレクション値を変更するために使用されるため、一般にAddCommandを使用しても問題はありません。

AddCommandの静的作成関数を使用して、新しいAddCommandを作成できます。

AddCommand.create(EditingDomain domain, EObject owner, EStructuralFeature feature, java.lang.Object value) 

与えられた値の説明:

domain: the editing domain your model lives in
owner: element you are doing the modifications to
feature: feature in model, that should be given to you by the EPackage of your model.
         So this case is the Grades list feature
value: the new object you add to the list

addコマンドにはさまざまな作成ヘルパーが含まれているため、リストにインデックスを定義する必要がある場合は、それも実行可能です。

ここではEMFを実行していないため、直接ソースを提供することはできませんが、それでもうまくいかなかった場合はお知らせください。

于 2011-02-11T16:46:07.697 に答える
1

次のようになります。

Profile p = ...;
Grade g = ...;
Command add = AddCommand.create(domain,p, YourProfilePackage.Literals.PROFILE__GRADES, Collections.singleton(g));

YourProfilePackageは、EMFモデルから自動的に生成されたコード内にある必要があります。

于 2011-02-14T11:52:47.400 に答える