Mam klasę, która używa XML i odbicia, aby zwrócić Object
s do innej klasy.
Zwykle te obiekty są polami podrzędnymi obiektu zewnętrznego, ale czasami jest to coś, co chcę wygenerować w locie. Próbowałem czegoś takiego, ale bezskutecznie. Uważam, że dzieje się tak, ponieważ Java nie pozwala na dostęp do private
metod refleksji.
Element node = outerNode.item(0);
String methodName = node.getAttribute("method");
String objectName = node.getAttribute("object");
if ("SomeObject".equals(objectName))
object = someObject;
else
object = this;
method = object.getClass().getMethod(methodName, (Class[]) null);
Jeśli podana metoda to private
, zakończy się niepowodzeniem z plikiem NoSuchMethodException
. Mógłbym to rozwiązać, tworząc metodę public
lub inną klasę, z której będzie pochodziła.
Krótko mówiąc, zastanawiałem się, czy istnieje sposób na dostęp do private
metody poprzez refleksję.