Sorry,I tried && googlinged to figure out what you mean,but failed,can
you post a concrete example?

thx.
 
On Wed, 2011-07-06 at 22:18 -0400, Sam Berlin wrote:
> By using the TypeLiterals you put in the bind(..) statements in
> the .implement(..) parameters and removing the bind statement, most
> likely.
> 
> sam
> 
> On Wed, Jul 6, 2011 at 10:17 PM, Alex Luya <[email protected]>
> wrote:
>         Yeah,but how to solve this problem?
>         
>         
>         
>         On Thu, Jul 7, 2011 at 9:58 AM, Sam Berlin <[email protected]>
>         wrote:
>                 Briefly glancing over it, you probably want to
>                 use .implement with TypeLiterals, not classes.
>                 
>                 sam
>                 
>                 
>                 On Wed, Jul 6, 2011 at 9:51 PM, Alex Luya
>                 <[email protected]> wrote:
>                 
>                         
>                         Actually,I am using gin for GWT.Following are
>                         my code:
>                         
> ---------------------------------------------------------------------------------------------
>                         interface A<M extends Model>
>                         {
>                         //interface A
>                         }
>                         
> -------------------------------------------------------------------------------------------------
>                          class B<M extends Model>  implements A<M>
>                         {
>                         // implementation of A
>                         }
>                         
> -------------------------------------------------------------------------------------------------
>                         class MExt extend Model
>                         {
>                               //this is inheritance of Model
>                         }
>                         
> -------------------------------------------------------------------------------------------------
>                          interface Factory<M extends Model,V extends
>                         A<M>>
>                         {
>                         V createA(M model);
>                         }
>                         
> -------------------------------------------------------------------------------------------------
>                         public class ClientModule extends
>                         AbstractGinModule
>                         {
>                         @Override
>                         protected void configure()
>                         {
>                         bind(new TypeLiteral<A<MExt >>(){}).to(new
>                         TypeLiteral<B<MExt>>(){});
>                         install(new
>                         GinFactoryModuleBuilder().implement(A.class,
>                         B.class).build(Factory.class));
>                         }
>                         }
>                         
> -------------------------------------------------------------------------------------------------
>                         When trying to run,get these errors:
>                         
> -----------------------------------------------------------------------------------------------------
>                         ......
>                         
>                         
>                         1)V cannot be used as a key; It is not fully
>                         specified. 
>                          ......
>                         
> -----------------------------------------------------------------------------------------------------
>                         
>                         
>                         So I tried to do this:add 
>                         
> -----------------------------------------------------------------------------------------------------
>                         interface FactoryExt extend
>                         Factory<MExt,A<MExt>>{
>                         ....................................................
>                         }
>                         
> -----------------------------------------------------------------------------------------------------
>                         and reconfigure module to 
>                         
> -----------------------------------------------------------------------------------------------------
>                         public class ClientModule extends
>                         AbstractGinModule
>                         {
>                         @Override
>                         protected void configure()
>                         {
>                         bind(new TypeLiteral<A<MExt >>(){}).to(new
>                         TypeLiteral<B<MExt>>(){});
>                         install(new
>                         GinFactoryModuleBuilder().implement(A.class,
>                         B.class).build(FactoryExt.class));
>                         }
>                         }
>                         
> -----------------------------------------------------------------------------------------------------
>                         get this error:
>                         
> -----------------------------------------------------------------------------------------------------
>                         ......
>                         1) Could not find a suitable constructor in
>                         com.domain.client.ui.A. Classes must have
>                         either one (and only one) constructor
>                         annotated with @Inject or a zero-argument
>                         constructor that is not private. 
>                          ......
>                         
> -----------------------------------------------------------------------------------------------------
>                         it seems that guice didn't recognize this
>                         clause:
>                         -------------------------------------------------
>                         bind(new TypeLiteral<A<MExt >>(){}).to(new
>                         TypeLiteral<B<MExt>>(){});
>                         ----------------------------------------------------
>                         
>                         
>                         So,how can I solve this problem?
>                         
>                         -- 
>                         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.
>                 
>                 
>                 
>                 -- 
>                 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.
>         
>         -- 
>         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 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 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