@Named Integer
値が適用されない状況で null 値を許可するパラメーターを Guice で作成しようとしています。
@Singleton
public class MyClass extends SomeOtherClass {
@Inject
MyClass(Object o, @Named("the name") @Nullable Integer myParam) {
...etc...
}
}
と
@Provides
@Named("the name")
public Integer getParamName() {
// Set to null for Not Applicable
return null;
}
残念ながら、Guice はこれを好まないようです。
null returned by binding at my.package.ApplicationConfig$MyModule.getParamName()
but parameter 1 of my.package.MyClass.<init>() is not @Nullable
@Nullable
私が使用している注釈は、com.google.inject.internal.Nullable
Guice に含まれており、@Retention(RetentionPolicy.RUNTIME)
.
私が Stack Overflow で見つけた同様の質問は、残念ながら非建設的であるか、適用できないものでした。何か案は?