2017-03-17 4 views
0

나는 ByteBuddy에 의해 생성 된 경우 내가 소스 객체를 분석 할 때개체가 바이트 버디로 생성되었는지 어떻게 확인할 수 있습니까?

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 $ HFuwCkIQ 고마워요!

답변

2

생성 된 클래스에 이러한 추적을 넣지 않는 한 Byte Buddy는 생성 된 코드에 어떤 흔적도 남기지 않습니다. 기본적으로 Byte Buddy의 기본 이름 지정 전략은 하위 클래스를 만들 때 $ByteBuddy$을 하위 클래스 이름에 추가하지만이 구성은 변경 될 수 있습니다. 클래스를 표시하는 가장 쉬운 방법은 생성하는 모든 클래스에 대한 인터페이스를 구현하는 것입니다.