次の Java コードは、Guice バインディングをセットアップします。AbstractModule
の実装を提供するの匿名サブクラスを使用しconfigure
てバインディングを設定し、 の匿名サブクラスを使用して特定の型パラメーターのへTypeLiteral
のバインディングを作成します (ここで説明されているように)。Map
HashMap
injector = Guice.createInjector(new AbstractModule() {
@Override protected void configure() {
bind(new TypeLiteral<Map<String, Event>>() {})
.to(new TypeLiteral<HashMap<String, Event>>() {});
}
});
これを Xtend でどのように記述できますか?
私が見る限り、Xtend は匿名クラスまたはネストされたクラスの実装をサポートしていません (ドキュメントには記載されておらず、動作する構文を推測できませんでした)。したがって、私AbstractModule
と私のTypeLiteral
実装のそれぞれを別々の Xtend ファイルで定義する必要があります...あまり簡潔ではありません。これをうまく機能させるための Xtend または Guice のトリックが欠けていますか?