Let me a couple of days (this weekend) and I will try to simply my original 
issue to a test case. I still think that maybe something funny is going on 
under some specific conditions.


On Tuesday, August 20, 2013 10:57:47 PM UTC-4, Sam Berlin wrote:
>
> Interesting. I haven't fully digested it, but if its causing surprising 
> behavior that you're having trouble explaining, then I think a test case 
> would be useful.  If only so we can examine it more closely and figure out 
> if there is indeed a bug. 
> On Aug 20, 2013 9:20 PM, <[email protected] <javascript:>> wrote:
>
>> Sorry that I'm still not 100% sure, and I do not have a test case to 
>> show, but I'm pretty sure I did find the main cause of this "issue" in my 
>> application. 
>>
>> I created an interface :
>>
>> -------------
>> public interface IInitableAfterCreation
>> {
>>     public void init();
>> }
>> -------------
>>
>> And this is what I check in the *Matcher* of my *InjectionListener* :
>>
>> -------------
>> @Override
>> public boolean matches(Binding<?> t)
>> {
>>     return 
>> IInitableAfterCreation.class.isAssignableFrom(t.getKey().getTypeLiteral().getRawType());
>> }
>> -------------
>>
>> The problem is that I was using this *IInitableAfterCreation* interface 
>> on my *implementations* objects, not on their interfaces. For example :
>>
>> -------------
>> public class MyWidget implements IMyWidget, IInitableAfterCreation 
>> {
>>     @Override
>>     public void init()
>>     {
>>     }
>>     // ...
>> }
>> -------------
>>
>> This doesn't work! But if I make the* IMyWidge*t *interface* extend 
>> *IInitableAfterCreation 
>> *, then it works :
>>
>> -------------
>> public interface IMyWidget extends IInitableAfterCreation {}
>>
>> public class MyWidget implements IMyWidget
>> {
>>     @Override
>>     public void init()
>>     {
>>     }
>>     // ...
>> }
>> -------------
>>
>> Is this the way it should work? Some of my *IMyWidget* implementations 
>> that don't need to be initialized at startup will still have to implement 
>> the *init()* method?
>>
>> Anyway, the issue seems less important than what I though, that's good 
>> news! :-)
>>
>> Let me know if you still want a test case or if this is not a real 
>> problem actually (I would appreciate to better understand the way it works 
>> though!). Thanks!
>>
>>
>> ********
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "google-guice" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> Visit this group at http://groups.google.com/group/google-guice.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to