2017-03-17 221 views
0

我用下面的代碼如何檢查對象是否由字節好友創建?

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(); 

我怎麼能告訴我分析來源對象如果是由ByteBuddy創建創建源對象的實例?它是否實現了任何標記接口或類似的東西?生成對象的實際類是類似於來源$ ByteBuddy $ HFuwCkIQ謝謝!

回答

2

Byte Buddy不會在其生成的代碼中留下任何痕跡,除非將這些痕跡放入生成的類中。默認情況下,創建子類時,Byte Buddy的默認命名策略將$ByteBuddy$添加到子類的名稱中,但此配置可能會更改。最簡單的方法來標記你的類可能是爲你生成的任何類實現一個接口。