1

Using Guice, I want to inject a bounded-wildcard class. To be clear, I don't want to inject an object, but inject a class type. The would read:

class A {
   Class<? extends SuperClass> a;
   @Inject A(Class<? extends SuperClass> a) {
      this.a = a.;
   }
}

How can I correctly bind the parameter?

Jeff Axelrod
  • 27,676
  • 31
  • 147
  • 246

1 Answers1

1

Use this binding:

bind(new TypeLiteral<Class<? extends SuperClass>>() {})
    .toInstance(SubClass.class);
Jeff Axelrod
  • 27,676
  • 31
  • 147
  • 246
MForster
  • 8,806
  • 5
  • 28
  • 32