Package net.sf.cglib.proxy

Examples of net.sf.cglib.proxy.MethodInterceptor


        if (superClass != null) {
            Enhancer enhancer = new Enhancer();
            enhancer.setClassLoader(loader);
            enhancer.setSuperclass(superClass);
            enhancer.setInterfaces(theInterfaces.toArray(new Class[theInterfaces.size()]));
            enhancer.setCallback(new MethodInterceptor() {

                public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy)
                    throws Throwable {
                    return h.invoke(obj, method, args);
                }
View Full Code Here


        createCallback();
    }

    @Override
    protected void createCallback() {
        this.callback = new MethodInterceptor() {

            @Override
            public Object intercept(final Object proxied, final Method proxiedMethod, final Object[] args, final MethodProxy proxyMethod) throws Throwable {

                final boolean ignore = proxiedMethod.getDeclaringClass().equals(Object.class);
View Full Code Here

    @Override
    @SuppressWarnings("unchecked")
    public T createProxy(final Class<T> toProxyClass, final InvocationHandler handler) {

        final MethodInterceptor interceptor = new InvocationHandlerMethodInterceptor(handler);

        // Create the proxy
        final Enhancer enhancer = new Enhancer();
        enhancer.setSuperclass(toProxyClass);
        enhancer.setInterfaces(new Class[] { WrapperObject.class });
        enhancer.setCallbackType(interceptor.getClass());

        final Class enhancedClass = enhancer.createClass();

        Enhancer.registerCallbacks(enhancedClass, new Callback[] { interceptor });
View Full Code Here

* @author Lukas Fryc
*/
public final class Interceptors {

    public static <T> T any(Class<T> type) {
        return (T) ClassImposterizer.INSTANCE.imposterise(new MethodInterceptor() {
            @Override
            public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {
                return null;
            }
        }, type);
View Full Code Here

     * @param type the type of the generated proxy
     * @param interceptor the interceptor for intercepting methods executed on generated proxy
     * @return proxy for executing methods which shoyld be intercepted by given interceptor
     */
    public <T> T interceptInvocation(Class<T> type, final Interceptor interceptor) {
        return (T) ClassImposterizer.INSTANCE.imposterise(new MethodInterceptor() {
            @Override
            public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {
                registerMethodInterceptor(method, interceptor);
                return null;
            }
View Full Code Here

  }

  private static Object createCGLibProxy(Class<? extends Object> targetClass, final InvocationHandler invocationHandler) {
    Object proxy;
    // Create CGLib Method interceptor
    MethodInterceptor interceptor = new MethodInterceptor() {
      public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {
        return invocationHandler.invoke(obj, method, args);
      }
    };

    // Create the proxy
    Enhancer enhancer = new Enhancer();
    enhancer.setSuperclass(targetClass);
    enhancer.setCallbackType(interceptor.getClass());
        Class<?> proxiedClass = enhancer.createClass();
        Enhancer.registerCallbacks(proxiedClass, new Callback[] { interceptor });
        /* To make the proxy creator work with Eclipse plugins */
    enhancer.setClassLoader(ProxyCreator.class.getClassLoader());

 
View Full Code Here

            final MethodCapturer<T> capturerNew = new MethodCapturer<T>();

            Enhancer en = new Enhancer();
            en.setSuperclass(obj.getClass());
            en.setCallbacks(new Callback[] {new MethodInterceptor() {
                @Override
                public Object intercept(Object arg0, Method arg1, Object[] arg2, MethodProxy arg3) throws Throwable {
                    capturerNew.setMethod(arg1);
                    return null;
                }
            }, new MethodInterceptor() {
                @Override
                public Object intercept(Object arg0, Method arg1, Object[] arg2, MethodProxy arg3) throws Throwable {
                    return null;
                }
            }});
View Full Code Here

        _targetObject = target;
    }

    @SuppressWarnings("unchecked")
    public T getTarget() {
        return (T)Enhancer.create(_targetObject.getClass(), new MethodInterceptor() {
            @Override
            public Object intercept(Object arg0, Method arg1, Object[] arg2, MethodProxy arg3) throws Throwable {
                _callbackMethod = arg1;
                return null;
            }
View Full Code Here

            en = enMap.get(clz);
            if (en == null) {
                en = new Enhancer();

                en.setSuperclass(clz);
                en.setCallback(new MethodInterceptor() {
                    @Override
                    public Object intercept(Object arg0, Method arg1, Object[] arg2, MethodProxy arg3) throws Throwable {
                        return null;
                        }
                    });
                enMap.put(clz, en);
            }
        }

        try {
            T t = (T)en.create();
            Factory factory = (Factory)t;
            factory.setCallback(0, new MethodInterceptor() {
                @Override
                public Object intercept(Object arg0, Method arg1, Object[] arg2, MethodProxy arg3) throws Throwable {
                    if (arg1.getParameterTypes().length == 0 && arg1.getName().equals("finalize")) {
                        return null;
                    } else {
View Full Code Here

        createCallback();
    }

    @Override
    protected void createCallback() {
        this.callback = new MethodInterceptor() {

            @Override
            public Object intercept(final Object proxied, final Method proxiedMethod, final Object[] args,
                final MethodProxy proxyMethod) throws Throwable {
View Full Code Here

TOP

Related Classes of net.sf.cglib.proxy.MethodInterceptor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.