2012-02-16 8 views
1

ECoreモデルからいくつかのJavaクラスを作成しようとしています。このモデルでは、一部のクラスはIterable<Something>を実装する必要があります。これを実現するために、私はEClass Iterableを追加し、そのInstance Type Namejava.lang.Iterableに設定しました。これによりECoreコードジェネレータがIterableのコードを生成しないようにしながら、このインターフェイスを実装したいクラスに対してESuper Typesを使用できるようにします。ECoreのイテレータとIterable

これは正しい方法ですか?

このアプローチの問題は、すべてのエディタ(「サンプルリフレクティブeCoreエディタ」と「汎用EMFフォームエディタ」でモデルのインスタンスを編集できませんでした)です。両方のエディタでIterableタイプが見つかりませんそして、表示され、エラー「クラス不明な分類器ではありません 『反復処理可能』」。

が回避策やこれに対する解決策はありますか?

答えて

0

は何私はそれが正しいとは思わない。あなたは@extendsアノテーションを使用する必要があります外部Javaインターフェイスを追加する場所のクラスコメントセクションに移動します。これにより、EMFブックのページ308(セクション10.11)からのものです:

/** 
* <!-- begin-user-doc --> 
* A representation of the model object 'PurchaseOrder'. 
* @extends Serializable 
* <!-- end-user-doc --> 
* 
* 

* @model 
* @generated 
*/ 
public interface PurchaseOrder extends EObject, Serializable 
{...