2013年3月1日金曜日

ecoreのオペレーションの実装について

EMFでecoreにeOperationを定義する際に、ソースコード生成を行うと、以下のように
UnsupportedOperationException()を返してしまう。

 /**
  * 
  * 
  * @generated
  */
 public void sample() {
  // TODO: implement this method
  // Ensure that you remove @generated or mark it @generated NOT
  throw new UnsupportedOperationException();
 }

これのデフォルト実装を行うためにはeOperationに対してeannotationを設定する必要がある。

 
      
        

対応方法は

  • eannotation
    • 属性名:source
      • 値http://www.eclipse.org/emf/2002/GenModel
  • detailタグ
    • 属性名:key
      • 値:body
    • 属性名:value
      • operationの実装


これでデフォルトの実装が出力される。
これにより、モデルですべて実装まで定義できるようになります。