Es gibt keine gute Methode: Proxy.getInvocationHandler (Proxy) gibt Handler zurück, aber das Problem besteht darin, das ursprüngliche Objekt aus dem Handler zu extrahieren. Wenn Ihr Handler eine anonyme Klasse ist, besteht die einzige Möglichkeit zum Extrahieren des ursprünglichen Objekts darin, die Reflektion zu verwenden und das Original aus dem Feld namens val $ something zu extrahieren - eine sehr hässliche Methode. besserer Weg ist, nicht-anonymen-Handler-Klasse mit einem Getter zu erstellen, dann Sie tun:
((YourHandler)Proxy.getInvocationHandler(proxy)).getOriginalObject()
es hängt davon ab, wie Sie es erstellt haben. Welche Bibliothek? der JDK-Proxy? Oder CGLIB/Javassist? – Bozho
@Bozho: Ich habe die Frage aktualisiert, um genauer zu sein – MRalwasser
Dies setzt voraus, dass es ein Originalobjekt gibt. Was 'InvocationHandler' an 'newProxyInstance()' gesendet wird? –