http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/TypeLiteral.html
2010/9/23 Yaxin Liu 刘亚新 <[email protected]> > TypeLiteral? > > > On Thu, Sep 23, 2010 at 7: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. >> > > > > -- > Yaxin > > -- > 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.
