[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [sisu-users] @Nullable working example
|
Thank you, Stuart. Custom @Nullable worked.
--
Regards,
Igor
On 2014-06-17, 15:52, Stuart McCulloch wrote:
On 17 Jun 2014, at 20:12, Igor Fedorenko <igor@xxxxxxxxxxxxxx> wrote:
I am using Sisu 0.0.0.M5 (part of Maven 3.2.1) and I am having
difficulty getting @org.eclipse.sisu.Nullable to do anything. It didn't
work neither for injected constructor parameter nor for injected field.
For plugin or extension? AFAIK maven doesn’t expose any org.eclipse.sisu packages from maven-core, in which case @org.eclipse.sisu.Nullable won't be visible at runtime from the plugin realm. However note that any @Nullable annotation can be used, as long as it’s visible when loading the annotated class - the actual @Nullable check is in Guice where it compares the name of the annotation to “Nullable”, regardless of the package. So you could always create your own @Nullable in a package that’s known to be visible to your plugin.
@com.google.inject.Inject(optional = true) worked for injected field as
suggested in [1], which I hope means the rest of my code is setup
correctly and the problem is with how I use @Nullable.
Note optional=true is not quite the same as @Nullable - the former allows you to proceed without any binding for the injected member (which for a field means it’s not injected at all) whereas the latter allows null to be injected.
When using Sisu, @Nullable becomes a reasonable approximation to optional=true (because its generated bindings will return null when a component is not available) but is still slightly different because the injection goes ahead even if the value being injected is null, whereas with optional=true you can set a default value for the field and it won’t be disturbed if the relevant binding is missing.
Are there known problems with @Nullable in Sisu 0.0.0.M5?
Not according to the test reports (the expected behaviour of @Nullable is tested for all kinds of injection points in BeanImportTest)
Can somebody
point me at a working example that shows how to use it properly, ideally
when used from plexus shim?
[1] https://code.google.com/p/google-guice/wiki/FrequentlyAskedQuestions
--
Regards,
Igor
_______________________________________________
sisu-users mailing list
sisu-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/sisu-users
_______________________________________________
sisu-users mailing list
sisu-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/sisu-users