H must be bound when binding the UiHandlersStrategy interface...

what bind did you use?

On Thu, Sep 23, 2010 at 11:50 AM, Christian Goudreau <
[email protected]> wrote:

> Yeah, well, that doesn't work :D It's still complaining about H extends
> UiHandlers that isn't bind :D (H = MyUiHandlers and is bound)
>
> Cheers,
>
>
> On Thu, Sep 23, 2010 at 10:47 AM, Lucas Cavalcanti <[email protected]
> > wrote:
>
>> When your class has a generic type, I think you have to do the generic
>> binding explicity:
>>
>> bind(new
>> TypeLiteral<UiHandlersStrategy<MyUiHandlers>>(){}).annotatedWith(...).to(...);
>>
>> You could try to use wildcards, but I'm not sure if it works
>>
>> []'s
>> Lucas
>>
>>
>> On Thu, Sep 23, 2010 at 11:35 AM, Christian Goudreau <
>> [email protected]> wrote:
>>
>>> Anyone else ?
>>>
>>>
>>> On Wed, Sep 22, 2010 at 11:34 AM, Christian Goudreau <
>>> [email protected]> wrote:
>>>
>>>> bind(MemberView.MyUiHandlers.class).to(MemberPresenter.class);
>>>>
>>>>     bind(UiHandlersStrategy.class).annotatedWith(ProviderUiHandler.
>>>> class).to(ProviderUiHandlersStrategyImpl.class);
>>>>
>>>>     bind(UiHandlersStrategy.class).annotatedWith(SetterUiHandler.class
>>>> ).to(SetterUiHandlersStrategyImpl.class);
>>>>
>>>> public interface UiHandlersStrategy<H extends UiHandlers> {
>>>>
>>>>   void setUiHandlers(H uiHandlers);
>>>>
>>>>   H getUiHandlers();
>>>>
>>>> }
>>>>
>>>> public class ProviderUiHandlersStrategyImpl<H extends UiHandlers>
>>>> implements
>>>>
>>>>     UiHandlersStrategy<H> {
>>>>
>>>>   private final Provider<H> uiHandlersProvider;
>>>>
>>>>
>>>> Here's more informations. What I don't get is that MyUiHandlers is
>>>> declared... but my guest is that it is AFTER the other one...
>>>>
>>>> Cheers,
>>>>
>>>>
>>>> On Wed, Sep 22, 2010 at 11:16 AM, Fred Faber <[email protected]> wrote:
>>>>
>>>>> Can you post your binding?
>>>>>
>>>>> You should be able to do this with something to the effect of:
>>>>>
>>>>> bind(new TypeLiteral<UiHandlersStrategy<MyUiHandlers>(){})
>>>>>   .to(...your impl);
>>>>>
>>>>> -Fred
>>>>>
>>>>> On Mon, Sep 20, 2010 at 5:10 PM, Christian Goudreau <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Humm I think my subject is weird... anyway :D
>>>>>>
>>>>>> Here's what I want to do:
>>>>>>
>>>>>>   @Inject
>>>>>>
>>>>>>   public MemberView(@ProviderUiHandler 
>>>>>> finalUiHandlersStrategy<MyUiHandlers> providerUiHandlersStrategyImpl) {
>>>>>> My error:
>>>>>> 17:02:42.928 [ERROR] [apapul] No implementation bound for key
>>>>>> Key[type=ca.ulaval.apapul.client.mvp.strategies.uihandlers.UiHandlersStrategy<ca.ulaval.apapul.client.core.member.MemberView$MyUiHandlers>,
>>>>>> [email protected]]
>>>>>>
>>>>>> MyUiHandlers is also an interface binded by Gin/Guice. Using the
>>>>>> implementation class instead the interface work, but I wanted to use the
>>>>>> interface with an annotation.
>>>>>>
>>>>>> Btw, is this worth the pain ? That seem to be almost as if I was using
>>>>>> the implementation class anyway...
>>>>>>
>>>>>> Thanks and cheers,
>>>>>>
>>>>>> --
>>>>>> Christian Goudreau
>>>>>> www.arcbees.com
>>>>>>
>>>>>>  --
>>>>>> 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]<google-guice%[email protected]>
>>>>>> .
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/google-guice?hl=en.
>>>>>>
>>>>>
>>>>>  --
>>>>> 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]<google-guice%[email protected]>
>>>>> .
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/google-guice?hl=en.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Christian Goudreau
>>>> www.arcbees.com
>>>>
>>>>
>>>
>>>
>>> --
>>> Christian Goudreau
>>> www.arcbees.com
>>>
>>>  --
>>> 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]<google-guice%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/google-guice?hl=en.
>>>
>>
>>  --
>> 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]<google-guice%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/google-guice?hl=en.
>>
>
>
>
> --
> Christian Goudreau
> www.arcbees.com
>
>  --
> 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]<google-guice%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-guice?hl=en.
>

-- 
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.

Reply via email to