enhancer.setSuperclass(factoryBean.getClass()); enhancer.setNamingPolicy(SpringNamingPolicy.INSTANCE); enhancer.setCallbackType(MethodInterceptor.class);
enhancer.setInterfaces(new Class<?>[] {MethodInvocationInfo.class}); enhancer.setNamingPolicy(SpringNamingPolicy.INSTANCE); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class);
enhancer.setSuperclass(factoryBean.getClass()); enhancer.setNamingPolicy(SpringNamingPolicy.INSTANCE); enhancer.setCallbackType(MethodInterceptor.class);
/** * Returns the CGLib enhanced type for the given source type. * * @param type * @return */ private Class<?> getEnhancedTypeFor(Class<?> type) { Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(type); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class); enhancer.setInterfaces(new Class[] { LazyLoadingProxy.class }); return enhancer.createClass(); }
enhancer.setInterfaces(new Class<?>[] {MethodInvocationInfo.class}); enhancer.setNamingPolicy(SpringNamingPolicy.INSTANCE); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class);
enhancer.setInterfaces(new Class<?>[] {MethodInvocationInfo.class}); enhancer.setNamingPolicy(SpringNamingPolicy.INSTANCE); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class);
enhancer.setInterfaces(new Class<?>[] {Supplier.class}); enhancer.setNamingPolicy(SpringNamingPolicy.INSTANCE); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class);
enhancer.setInterfaces(new Class<?>[] {Supplier.class}); enhancer.setNamingPolicy(SpringNamingPolicy.INSTANCE); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class);
/** * Returns the already created proxy class for the given source type or creates a new one. * * @param type must not be {@literal null}. * @param classLoader must not be {@literal null}. * @return */ private static Class<?> getOrCreateEnhancedClass(Class<?> type, ClassLoader classLoader) { Assert.notNull(type, "Source type must not be null!"); Assert.notNull(classLoader, "ClassLoader must not be null!"); return CLASS_CACHE.computeIfAbsent(type, key -> { Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(key); enhancer.setInterfaces(new Class<?>[] { LastInvocationAware.class }); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class); enhancer.setClassLoader(classLoader); return enhancer.createClass(); }); }
/** * Returns the CGLib enhanced type for the given source type. * * @param type * @return */ private Class<?> getEnhancedTypeFor(Class<?> type) { Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(type); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class); enhancer.setInterfaces(new Class[] { LazyLoadingProxy.class }); return enhancer.createClass(); }
/** * Returns the already created proxy class for the given source type or creates a new one. * * @param type must not be {@literal null}. * @param classLoader must not be {@literal null}. * @return */ private static Class<?> getOrCreateEnhancedClass(Class<?> type, ClassLoader classLoader) { Assert.notNull(type, "Source type must not be null!"); Assert.notNull(classLoader, "ClassLoader must not be null!"); Class<?> result = CLASS_CACHE.get(type); if (result != null) { return result; } Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(type); enhancer.setInterfaces(new Class<?>[] { LastInvocationAware.class }); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class); enhancer.setClassLoader(classLoader); result = enhancer.createClass(); CLASS_CACHE.put(type, result); return result; }
enhancer.setCallbackType(MethodInterceptor.class); if (SmartFactoryBean.class.getClassLoader() != objectFactoryType.getClassLoader()) {
private Class<?> enhancedTypeFor(final Class<?> type) { final Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(type); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class); enhancer.setInterfaces(new Class[] { LazyLoadingProxy.class }); return enhancer.createClass(); }
private Class<?> enhancedTypeFor(final Class<?> type) { final Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(type); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class); enhancer.setInterfaces(new Class[] { LazyLoadingProxy.class }); return enhancer.createClass(); }
/** * Returns the CGLib enhanced type for the given source type. * * @param type * @return */ private Class<?> getEnhancedTypeFor(Class<?> type) { Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(type); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class); enhancer.setInterfaces(new Class[] { LazyLoadingProxy.class }); return enhancer.createClass(); }
public static <T> T createProxy(Class<T> type, List<MethodCallListener> listeners, ScanDepthStrategy scanDepthStrategy) { final ScanInterceptor scanInterceptor = new ScanInterceptor(type, listeners, scanDepthStrategy); if (type.isInterface()) { ProxyFactory factory = new ProxyFactory(EmptyTargetSource.INSTANCE); factory.addInterface(type); factory.addAdvice(scanInterceptor); return (T) factory.getProxy(); } Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(type); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class); enhancer.setClassLoader(type.getClassLoader()); Factory factory = (Factory) OBJENESIS.newInstance(enhancer.createClass()); factory.setCallbacks(new Callback[]{ scanInterceptor }); return (T) factory; }
enhancer.setSuperclass(factoryBean.getClass()); enhancer.setNamingPolicy(SpringNamingPolicy.INSTANCE); enhancer.setCallbackType(MethodInterceptor.class);
@SuppressWarnings("unchecked") private static <T> T getProxyWithInterceptor(final Class<?> type, final RecordingMethodInterceptor interceptor, final ClassLoader classLoader, final boolean isfinal) { if (type.isInterface()) { ProxyFactory factory = new ProxyFactory(EmptyTargetSource.INSTANCE); factory.addInterface(type); factory.addInterface(LastInvocationAware.class); factory.addAdvice(interceptor); return (T) factory.getProxy(); } Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(type); enhancer.setInterfaces(new Class<?>[] { LastInvocationAware.class }); enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class); enhancer.setClassLoader(classLoader); Factory factory = (Factory) OBJENESIS.newInstance(enhancer.createClass()); factory.setCallbacks(new Callback[] { interceptor }); return (T) factory; }