2017-03-17 2 views
0

Ich erstelle eine Quelle Objektinstanz mit dem folgenden CodeWie kann ich überprüfen, ob ein Objekt von Byte Buddy erstellt wurde?

Source source = new ByteBuddy() 
     .subclass(Source.class)    
     .method(named("hello")) 
     .intercept(MethodDelegation.to(Target.class)) 
     .defineMethod("myNewMethod", void.class) 
     .intercept(MethodDelegation.to(Target.class)) 
     .make() 
     .load(Source.class.getClassLoader()) 
     .getLoaded() 
     .newInstance(); 

Wie kann ich sagen, wenn ich eine Quelle Objekt analysieren, wenn sie von ByteBuddy erstellt wird? Ist eine Marker-Schnittstelle implementiert oder etwas Ähnliches? Die tatsächliche Klasse des generierten Objekts ist so etwas wie Quelle $ ByteBuddy $ HFuwCkIQ Vielen Dank!

Antwort

2

Byte Buddy hinterlässt in seinem generierten Code keine Spuren, es sei denn, Sie fügen solche Spuren in die generierten Klassen ein. Beim Erstellen von Unterklassen fügt die Standardbenennungsstrategie von Byte Buddy standardmäßig $ByteBuddy$ in den Namen der Unterklasse ein. Diese Konfiguration kann sich jedoch ändern. Der einfachste Weg für Sie, Ihre Klassen zu markieren, wäre wahrscheinlich, eine Schnittstelle für jede generierte Klasse zu implementieren.

Verwandte Themen