Let's say I would like to be able to optionally inject the three
following via Google Guice @Named inject.
- webServiceUrl
- webServiceUsername
- webServicePassword
But I do not want to require to have all the values in the property
map. I thought that @Inject(optional = true) and @Nullable would be my
friend, however, when I do the following, this inject method get
called only if all three properties are present in the property map.
@Inject(optional = true)
public void injectWebServiceProperties(
@Nullable
@Named("akui.webServiceURL") String webServiceUrl,
@Nullable
@Named("akui.webServiceUsername") String webServiceUsername,
@Nullable
@Named("akui.webServicePassword") String webServicePassword) {
if (webServiceUrl != null){
...
}
if (webServiceUsername != null){
...
}
if (webServicePassword != null){
...
}
}
So, to make each property truly optional I need to have one setter per
property.
Is this a wanted feature or a bug? Is there any way to avoid to have
one setter per property while keeping any of them optional?
Jeremy,
--
You received this message because you are subscribed to the Google Groups
"google-guice" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-guice?hl=en.