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.

Reply via email to