0

私はこのフィールドを持っています:

@Inject(optional=true)
@Named(NAMED_ERROR_HANDLER)
private PolymorphicDispatcher.ErrorHandler<IScope> errorHandler = new PolymorphicDispatcher.NullErrorHandler<IScope>();

デフォルトのバインディング()をオーバーライドする必要がありますNullErrorHandler。それ、どうやったら出来るの?

4

1 に答える 1

1

私はPolymorphicDispatcher.ErrorHandler息子を乗せていませんが、このバインディングは仕事をするはずです:

bind(new TypeLiteral<PolymorphicDispatcher.ErrorHandler<IScope>>(){})
    .annotatedWith(Names.named(NAMED_ERROR_HANDLER))
    .to(MyImpl.class);

これMyImplは次のようなものです:

public class MyImpl implements PolymorphicDispatcher.ErrorHandler<IScope> {
    // methods from interface
}

を検索すると、ここで基本原理が説明されますTypeLiteral。(申し訳ありませんが、そのセクションの近くに HTML-ID またはアンカーはありません)。

于 2012-07-24T22:09:56.600 に答える