2011-01-21 3 views
2

私はAcceleoファイル内にJava関数をラップする必要があります。AcceleoでJava関数をラップします(Eclipseで)

は、Eclipseのヘルプページから

+0

あなたはもう少し説明できますか? – jzd

+0

あなたの質問は完全に以下に答えられていると思うので、あなたは答えを受け入れることができますか? – Riduidel

答えて

0

このページをありがとうチュートリアルが含まれており、彼らはモデルファイル内のJavaコードが含まれるかのように私には見えます。それが役に立てば幸い。

Acceleo Code Generation

+0

私は「Javaサービスのラッピング」の段落を読んだが、Javaサービスの作成方法を理解していない。それは正常な機能ではありませんか? –

+0

ありがとうございます。今それは働く。 –

4

AcceleoからのJavaサービスを呼び出すための最も簡単な方法は、あなたが見つけたとして、ユーザーガイド(help.eclipse.orgで説明した施設が、「ユーザー・ガイド」ではなく「Androidのチュートリアル」を使用することです)を使用して、Javaファイルから「Javaサービスラッパー」を作成します。これにより、自動的にJavaコードを呼び出すAcceleoクエリーが作成されます。

ただし、Javaクラスを使用せずにAcceleoからJavaコードを呼び出すことはできません。 "mtl"ファイルはAcceleoコードのみを許可し、AcceleoからJavaメソッドを呼び出すことはできますが、独自の "java"クラスファイルに配置する必要があります。 Acceleoプロジェクトがコードを呼び出すライブラリに依存している限り、あなたが所有していないJavaコードを呼び出すこともできます。たとえば、次のようAcceleoクエリは、メソッド与えられたのeclassにorg.eclipse.emf.ecore.util.EcoreUtil.getID(EObject)呼び出します。

[query public getURI(eClass : EClass) : String = invoke('org.eclipse.emf.ecore.util.EcoreUtil', 'getID(org.eclipse.emf.ecore.EObject)', Sequence{eClass})/] 

(そして今、あなたはAcceleoがあなたのために、これらのクエリ生成させることが容易である理由を参照してください。p)を。

Javaサービスのサポートをより使いやすくすることを期待していますが、今のところこれは私たちの希望リストにあり、計画されていません。

wiki(http://wiki.eclipse.org/Acceleo)を見て、何かが見つからない場合は編集してください。

PS:申し訳ありませんがハイパーリンクの不足のため、私のstackoverflowアカウントは少し若いです。

+0

ありがとうございます。今それは働く。 –

1

Kellindilからの回答を完成させるために、AcceleoのFAQにJavaサービスのスクリーンショットを追加しました。

How to use a Java service in Acceleo 3

+0

ありがとうございます。今それは働く。 –

関連する問題