Versione breve:Ti manca il primo parametro nella chiamata a invoke
.
Versione lunga:Si chiama
Method method = DoerDAO.class.getDeclaredMethod(requestedUser,
Dossier.class,
SessionFactory.class);
Diciamo che il valore di requestedUser
è getReviewerOneDetail
, poi devi cercare il metodo
getReviewerOneDetail(Dossier arg0, SessionFactory arg1)
Il prossimo si chiama
method.invoke(dossierDetail.get(0), sessionFactory);
Il JavaDoc gli stati che richiamare ottiene come primo parametro l'istanza(!) della classe per chiamare il metodo e come seconda, terza, ...parametri i parametri per la vostra chiamata.
Così, che cosa è in realtà il tentativo di chiamata in codice, è
dossierDetail.get(0).getReviewerOneDetail(sessionFactory);
che non corrispondono la firma del metodo (1 parametro vs2 parametri), né il tipo di istanza su cui il metodo è invocato (Dossier
invece di DoerDAO
).
Perché si acquista il Method
dal DoerDAO
classe, credo che quello che è destinato a scrivere lì, era in realtà:
method.invoke(doerDao, dossierDetail.get(0), sessionFactory);
Questo si traduce in un
doerDao.getReviewerOneDetail(dossierDetail.get(0), sessionFactory);