public <T> T createSubclassingProxy(ClassMetadata<T> proxifiedClass, Class<?>[] constructorTypes, Object[] constructorArguments) { T instance = createAdvisedSubclassInstance(proxifiedClass, constructorTypes, constructorArguments); MethodHandler interceptorMethodHandler = createSubclassingMethodHandler(instance, proxifiedClass); ((ProxyObject)instance).setHandler(new CompositeHandler(Arrays.asList(new MethodHandler[]{interceptorMethodHandler}))); return instance; }
public <T> T createProxyFromInstance(final Object target, Class<T> proxifiedClass, Class<?>[] constructorTypes, Object[] constructorArguments, InterceptorMetadata interceptorClassMetadata) { MethodHandler interceptorMethodHandler = createMethodHandler(target, proxifiedClass, interceptorClassMetadata); return createProxyInstance(InterceptionUtils.createProxyClassWithHandler(proxifiedClass, interceptorMethodHandler), interceptorMethodHandler); }
public <T> T createProxyFromInstance(final Object target, Class<T> proxyClass, InterceptorMetadata targetClassMetadata) throws IllegalAccessException, InstantiationException { return createProxyFromInstance(target, proxyClass, new Class[0], new Object[0], targetClassMetadata); }
try constructor = getNoArgConstructor(proxyClass); if (constructor == null) constructor = getReflectionFactoryConstructor(proxyClass);
try constructor = getNoArgConstructor(proxyClass); if (constructor == null)
public <T> MethodHandler createMethodHandler(Object target, Class<T> proxyClass, InterceptorMetadata interceptorMetadata) { return new InterceptorMethodHandler(target, proxyClass, getModelsFor(proxyClass), interceptionHandlerFactories, interceptorMetadata); }