Hi,
ich habe folgendes Problem:
ich habe eine generische Klasse die parametrisierte Methoden hat und kann eine solche Methode mittels Reflection nicht finden.
Nun möchte ich mittels Reflection die Methode "handleObject" aufrufen.
Das Problem hierbei ist, dass ich die Methode gar nicht erst finde.
Denn folgender Aufruf endet in einer NoSuchMethodException
Wenn ich mir im Debugger die Methoden der Handler-Klasse ausgeben lasse, finde ich die handle-Methode mit folgender Signatur:
Hat jemand eine Idee wie ich an die parametrisierte Version der Methode gelange ?
Viele Grüße
rico
ich habe folgendes Problem:
ich habe eine generische Klasse die parametrisierte Methoden hat und kann eine solche Methode mittels Reflection nicht finden.
Code:
public class BaseObjectHandler<T extends IBaseObject> implements IBaseObjectHandler<T>{
public BaseObjectHandler(Class<T> type) {
this.type = type;
}
public void handleObject(T baseObject) {
...
}
Nun möchte ich mittels Reflection die Methode "handleObject" aufrufen.
Das Problem hierbei ist, dass ich die Methode gar nicht erst finde.
Denn folgender Aufruf endet in einer NoSuchMethodException
Code:
...
IBaseObjectHandler<User> handler = getObjectHandler();
...
Class<User> param = getParam();
//User implementiert IBaseObject
Method m = handler.getClass().getMethod("handleObject", param);
Wenn ich mir im Debugger die Methoden der Handler-Klasse ausgeben lasse, finde ich die handle-Methode mit folgender Signatur:
Code:
handleObject(IBaseObject baseObject)
Hat jemand eine Idee wie ich an die parametrisierte Version der Methode gelange ?
Viele Grüße
rico