Acceleo ファイル内に Java 関数をラップする必要があります。助けてくれる人はいますか?
ありがとうございました
Acceleo から Java サービスを呼び出す最も簡単な方法は、ユーザー ガイド (help.eclipse.org でわかるように、「Android チュートリアル」ではなく「ユーザー ガイド」) に記載されている機能を使用して、「Java サービス ラッパー」を作成することです。 Java ファイルから。これにより、Java コードを呼び出す Acceleo クエリが自動的に作成されます。
ただし、Java クラスがないと、Acceleo から Java コードを呼び出すことはできません。「mtl」ファイルは Acceleo コードのみを許可し、Acceleo から Java メソッドを呼び出すことはできますが、独自の「java」クラス ファイルに配置する必要があります。Acceleo プロジェクトがコードの呼び出し元のライブラリに依存している限り、所有していない Java コードを呼び出すこともできます。たとえば、次の Acceleo クエリはorg.eclipse.emf.ecore.util.EcoreUtil.getID(EObject)、指定された EClass でメソッドを呼び出します。
[query public getURI(eClass : EClass) : String = invoke('org.eclipse.emf.ecore.util.EcoreUtil', 'getID(org.eclipse.emf.ecore.EObject)', Sequence{eClass})/]
(これで、Acceleo にこれらのクエリを生成させる方が簡単な理由がわかりました:p)。
Java サービスのサポートをより使いやすくすることを期待していますが、今のところこれは希望リストにあるだけで、計画はありません。
ウィキ ( http://wiki.eclipse.org/Acceleo ) で情報を確認し、何か不足している場合は編集してください :)。
PS: ハイパーリンクがなくてすみません。私のスタックオーバーフロー アカウントはまだ少し若いです。
Kellindil からの回答を完成させるために、Acceleo の FAQ に Java サービスの使用のスクリーンショットを含む新しいエントリを追加しました。
Eclipse ヘルプ ページのこのページにはチュートリアルが含まれており、モデル ファイルに Java コードが含まれているように見えます。それが役に立てば幸い。