z.Wie bindet man einen generischen Typ mit der Methode @Provides in einem Guice AbstractModule?
public final class SomeModule<T> extends AbstractModule {
private final Class<T> clazz;
public SomeModule(Class<T> clazz) {
this.clazz = clazz;
}
@Provides
T getT(@ExternalAnnotation Any any) {
Any payload = asset.get().getPayload();
return payload.<T>unpack(clazz);
}
}
Dies wird zu einem Fehler:
T cannot be used as a key; It is not fully specified.
Weder mit TypeLiteral noch Key hier angemessen erscheint, da ich den Rückgabetyp will noch sein vom Typ T. Gedanken?
Danke für die schnelle Antwort und Link auf andere Beispiele! –