creates a cglib proxy instance along with the neccessary callback classes , if those have not been created already . uses either the repackaged version of cglib spring > = 3.2 or the stand-alone version spring < 3.2 . concode_field_sep Class<?> springProxy concode_elem_sep Class<?> springNamingPolicy concode_elem_sep String CGLIB_PACKAGE concode_elem_sep Object springLock concode_elem_sep ClassLoader loader concode_elem_sep Object cglibLock concode_elem_sep EnhancerProxyCreater INSTANCE concode_elem_sep AgentLogger LOGGER concode_elem_sep Method createCglibProxy concode_elem_sep Class<?> cglibCallback concode_elem_sep ProtectionDomain pd concode_elem_sep String SPRING_PACKAGE concode_elem_sep Class<?> springCallback concode_elem_sep Class<?> cglibProxy concode_elem_sep Method createSpringProxy concode_elem_sep Class<?> cglibNamingPolicy concode_field_sep Class<?> buildProxyCreaterClass concode_elem_sep String getClassSuffix concode_elem_sep boolean isSupportedCglibProxy concode_elem_sep ClassPool getCp concode_elem_sep Object create concode_elem_sep Class<?> buildNamingPolicyClass concode_elem_sep Method getProxyCreationMethod concode_elem_sep Class<?> buildProxyCallbackClass
Object function ( Object arg0 , Object arg1 , Class < ? > [ ] arg2 , Object [ ] arg3 ) { if ( INSTANCE == null ) { INSTANCE = new EnhancerProxyCreater ( arg1 . getClass ( ) . getClassLoader ( ) , arg1 . getClass ( ) . getProtectionDomain ( ) ) ; } return INSTANCE . create ( arg0 , arg1 , arg2 , arg3 ) ; }