Spring4.x源码解析:Cglib生成代理对象的源码

源代码:

@Component("aopTestBean")
class AopTestBean implements AopTestBeanInterface{
    public void aop1(){
        System.out.println("aop1");
    }
    
    public void aop2(){
        System.out.println("aop2");
    }
}

生成代理代码:

package com.dk.spring;

import org.springframework.cglib.proxy.*;
import java.lang.reflect.*;
import org.springframework.cglib.core.*;
import org.aopalliance.aop.*;
import org.springframework.aop.framework.*;
import org.springframework.aop.*;

public class AopTestBean$$EnhancerBySpringCGLIB$$7e112399 extends AopTestBean implements SpringProxy, Advised, Factory
{
    private boolean CGLIB$BOUND;
    public static Object CGLIB$FACTORY_DATA;
    private static final ThreadLocal CGLIB$THREAD_CALLBACKS;
    private static final Callback[] CGLIB$STATIC_CALLBACKS;
    private MethodInterceptor CGLIB$CALLBACK_0;
    private MethodInterceptor CGLIB$CALLBACK_1;
    private NoOp CGLIB$CALLBACK_2;
    private Dispatcher CGLIB$CALLBACK_3;
    private Dispatcher CGLIB$CALLBACK_4;
    private MethodInterceptor CGLIB$CALLBACK_5;
    private MethodInterceptor CGLIB$CALLBACK_6;
    private static Object CGLIB$CALLBACK_FILTER;
    private static final Method CGLIB$aop2$0$Method;
    private static final MethodProxy CGLIB$aop2$0$Proxy;
    private static final Object[] CGLIB$emptyArgs;
    private static final Method CGLIB$aop1$1$Method;
    private static final MethodProxy CGLIB$aop1$1$Proxy;
    private static final Method CGLIB$equals$2$Method;
    private static final MethodProxy CGLIB$equals$2$Proxy;
    private static final Method CGLIB$toString$3$Method;
    private static final MethodProxy CGLIB$toString$3$Proxy;
    private static final Method CGLIB$hashCode$4$Method;
    private static final MethodProxy CGLIB$hashCode$4$Proxy;
    private static final Method CGLIB$clone$5$Method;
    private static final MethodProxy CGLIB$clone$5$Proxy;
    
    static void CGLIB$STATICHOOK1() {
        CGLIB$THREAD_CALLBACKS = new ThreadLocal();
        CGLIB$emptyArgs = new Object[0];
        final Class<?> forName = Class.forName("com.dk.spring.AopTestBean$$EnhancerBySpringCGLIB$$7e112399");
        final Class<?> forName2;
        final Method[] methods = ReflectUtils.findMethods(new String[] { "aop2", "()V", "aop1", "()V" }, (forName2 = Class.forName("com.dk.spring.AopTestBean")).getDeclaredMethods());
        CGLIB$aop2$0$Method = methods[0];
        CGLIB$aop2$0$Proxy = MethodProxy.create((Class)forName2, (Class)forName, "()V", "aop2", "CGLIB$aop2$0");
        CGLIB$aop1$1$Method = methods[1];
        CGLIB$aop1$1$Proxy = MethodProxy.create((Class)forName2, (Class)forName, "()V", "aop1", "CGLIB$aop1$1");
        final Class<?> forName3;
        final Method[] methods2 = ReflectUtils.findMethods(new String[] { "equals", "(Ljava/lang/Object;)Z", "toString", "()Ljava/lang/String;", "hashCode", "()I", "clone", "()Ljava/lang/Object;" }, (forName3 = Class.forName("java.lang.Object")).getDeclaredMethods());
        CGLIB$equals$2$Method = methods2[0];
        CGLIB$equals$2$Proxy = MethodProxy.create((Class)forName3, (Class)forName, "(Ljava/lang/Object;)Z", "equals", "CGLIB$equals$2");
        CGLIB$toString$3$Method = methods2[1];
        CGLIB$toString$3$Proxy = MethodProxy.create((Class)forName3, (Class)forName, "()Ljava/lang/String;", "toString", "CGLIB$toString$3");
        CGLIB$hashCode$4$Method = methods2[2];
        CGLIB$hashCode$4$Proxy = MethodProxy.create((Class)forName3, (Class)forName, "()I", "hashCode", "CGLIB$hashCode$4");
        CGLIB$clone$5$Method = methods2[3];
        CGLIB$clone$5$Proxy = MethodProxy.create((Class)forName3, (Class)forName, "()Ljava/lang/Object;", "clone", "CGLIB$clone$5");
    }
    
    final void CGLIB$aop2$0() {
        super.aop2();
    }
    
    public final void aop2() {
        try {
            MethodInterceptor cglib$CALLBACK_2;
            MethodInterceptor cglib$CALLBACK_0;
            if ((cglib$CALLBACK_0 = (cglib$CALLBACK_2 = this.CGLIB$CALLBACK_0)) == null) {
                CGLIB$BIND_CALLBACKS(this);
                cglib$CALLBACK_2 = (cglib$CALLBACK_0 = this.CGLIB$CALLBACK_0);
            }
            if (cglib$CALLBACK_0 != null) {
                cglib$CALLBACK_2.intercept((Object)this, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$aop2$0$Method, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$emptyArgs, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$aop2$0$Proxy);
                return;
            }
            super.aop2();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    final void CGLIB$aop1$1() {
        super.aop1();
    }
    
    public final void aop1() {
        try {
            MethodInterceptor cglib$CALLBACK_2;
            MethodInterceptor cglib$CALLBACK_0;
            if ((cglib$CALLBACK_0 = (cglib$CALLBACK_2 = this.CGLIB$CALLBACK_0)) == null) {
                CGLIB$BIND_CALLBACKS(this);
                cglib$CALLBACK_2 = (cglib$CALLBACK_0 = this.CGLIB$CALLBACK_0);
            }
            if (cglib$CALLBACK_0 != null) {
                cglib$CALLBACK_2.intercept((Object)this, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$aop1$1$Method, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$emptyArgs, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$aop1$1$Proxy);
                return;
            }
            super.aop1();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    final boolean CGLIB$equals$2(final Object o) {
        return super.equals(o);
    }
    
    public final boolean equals(final Object o) {
        try {
            MethodInterceptor cglib$CALLBACK_6;
            MethodInterceptor cglib$CALLBACK_5;
            if ((cglib$CALLBACK_5 = (cglib$CALLBACK_6 = this.CGLIB$CALLBACK_5)) == null) {
                CGLIB$BIND_CALLBACKS(this);
                cglib$CALLBACK_6 = (cglib$CALLBACK_5 = this.CGLIB$CALLBACK_5);
            }
            if (cglib$CALLBACK_5 != null) {
                final Object intercept = cglib$CALLBACK_6.intercept((Object)this, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$equals$2$Method, new Object[] { o }, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$equals$2$Proxy);
                return intercept != null && (boolean)intercept;
            }
            return super.equals(o);
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    final String CGLIB$toString$3() {
        return super.toString();
    }
    
    public final String toString() {
        try {
            MethodInterceptor cglib$CALLBACK_2;
            MethodInterceptor cglib$CALLBACK_0;
            if ((cglib$CALLBACK_0 = (cglib$CALLBACK_2 = this.CGLIB$CALLBACK_0)) == null) {
                CGLIB$BIND_CALLBACKS(this);
                cglib$CALLBACK_2 = (cglib$CALLBACK_0 = this.CGLIB$CALLBACK_0);
            }
            if (cglib$CALLBACK_0 != null) {
                return (String)cglib$CALLBACK_2.intercept((Object)this, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$toString$3$Method, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$emptyArgs, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$toString$3$Proxy);
            }
            return super.toString();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    final int CGLIB$hashCode$4() {
        return super.hashCode();
    }
    
    public final int hashCode() {
        try {
            MethodInterceptor cglib$CALLBACK_7;
            MethodInterceptor cglib$CALLBACK_6;
            if ((cglib$CALLBACK_6 = (cglib$CALLBACK_7 = this.CGLIB$CALLBACK_6)) == null) {
                CGLIB$BIND_CALLBACKS(this);
                cglib$CALLBACK_7 = (cglib$CALLBACK_6 = this.CGLIB$CALLBACK_6);
            }
            if (cglib$CALLBACK_6 != null) {
                final Object intercept = cglib$CALLBACK_7.intercept((Object)this, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$hashCode$4$Method, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$emptyArgs, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$hashCode$4$Proxy);
                return (intercept == null) ? 0 : ((Number)intercept).intValue();
            }
            return super.hashCode();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    final Object CGLIB$clone$5() throws CloneNotSupportedException {
        return super.clone();
    }
    
    protected final Object clone() throws CloneNotSupportedException {
        try {
            MethodInterceptor cglib$CALLBACK_2;
            MethodInterceptor cglib$CALLBACK_0;
            if ((cglib$CALLBACK_0 = (cglib$CALLBACK_2 = this.CGLIB$CALLBACK_0)) == null) {
                CGLIB$BIND_CALLBACKS(this);
                cglib$CALLBACK_2 = (cglib$CALLBACK_0 = this.CGLIB$CALLBACK_0);
            }
            if (cglib$CALLBACK_0 != null) {
                return cglib$CALLBACK_2.intercept((Object)this, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$clone$5$Method, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$emptyArgs, AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$clone$5$Proxy);
            }
            return super.clone();
        }
        catch (RuntimeException | Error | CloneNotSupportedException ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public static MethodProxy CGLIB$findMethodProxy(final Signature signature) {
        final String string = signature.toString();
        switch (string.hashCode()) {
            case -823686490: {
                if (string.equals("aop1()V")) {
                    return AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$aop1$1$Proxy;
                }
                break;
            }
            case -823656699: {
                if (string.equals("aop2()V")) {
                    return AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$aop2$0$Proxy;
                }
                break;
            }
            case -508378822: {
                if (string.equals("clone()Ljava/lang/Object;")) {
                    return AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$clone$5$Proxy;
                }
                break;
            }
            case 1826985398: {
                if (string.equals("equals(Ljava/lang/Object;)Z")) {
                    return AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$equals$2$Proxy;
                }
                break;
            }
            case 1913648695: {
                if (string.equals("toString()Ljava/lang/String;")) {
                    return AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$toString$3$Proxy;
                }
                break;
            }
            case 1984935277: {
                if (string.equals("hashCode()I")) {
                    return AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$hashCode$4$Proxy;
                }
                break;
            }
        }
        return null;
    }
    
    public final int indexOf(final Advice advice) {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).indexOf(advice);
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final int indexOf(final Advisor advisor) {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).indexOf(advisor);
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final boolean isFrozen() {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).isFrozen();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final Advisor[] getAdvisors() {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).getAdvisors();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final void addAdvice(final Advice advice) throws AopConfigException {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            ((Advised)dispatcher.loadObject()).addAdvice(advice);
        }
        catch (RuntimeException | Error | AopConfigException ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final void addAdvice(final int n, final Advice advice) throws AopConfigException {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            ((Advised)dispatcher.loadObject()).addAdvice(n, advice);
        }
        catch (RuntimeException | Error | AopConfigException ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final boolean isPreFiltered() {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).isPreFiltered();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final void removeAdvisor(final int n) throws AopConfigException {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            ((Advised)dispatcher.loadObject()).removeAdvisor(n);
        }
        catch (RuntimeException | Error | AopConfigException ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final boolean removeAdvisor(final Advisor advisor) {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).removeAdvisor(advisor);
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final boolean replaceAdvisor(final Advisor advisor, final Advisor advisor2) throws AopConfigException {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).replaceAdvisor(advisor, advisor2);
        }
        catch (RuntimeException | Error | AopConfigException ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final boolean removeAdvice(final Advice advice) {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).removeAdvice(advice);
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final boolean isProxyTargetClass() {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).isProxyTargetClass();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final void setTargetSource(final TargetSource targetSource) {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            ((Advised)dispatcher.loadObject()).setTargetSource(targetSource);
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final TargetSource getTargetSource() {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).getTargetSource();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final void addAdvisor(final int n, final Advisor advisor) throws AopConfigException {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            ((Advised)dispatcher.loadObject()).addAdvisor(n, advisor);
        }
        catch (RuntimeException | Error | AopConfigException ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final void addAdvisor(final Advisor advisor) throws AopConfigException {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            ((Advised)dispatcher.loadObject()).addAdvisor(advisor);
        }
        catch (RuntimeException | Error | AopConfigException ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final void setPreFiltered(final boolean preFiltered) {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            ((Advised)dispatcher.loadObject()).setPreFiltered(preFiltered);
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final void setExposeProxy(final boolean exposeProxy) {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            ((Advised)dispatcher.loadObject()).setExposeProxy(exposeProxy);
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final boolean isExposeProxy() {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).isExposeProxy();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final Class[] getProxiedInterfaces() {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).getProxiedInterfaces();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final boolean isInterfaceProxied(final Class clazz) {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).isInterfaceProxied(clazz);
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final String toProxyConfigString() {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((Advised)dispatcher.loadObject()).toProxyConfigString();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public final Class getTargetClass() {
        try {
            Dispatcher dispatcher;
            if ((dispatcher = this.CGLIB$CALLBACK_4) == null) {
                CGLIB$BIND_CALLBACKS(this);
                dispatcher = this.CGLIB$CALLBACK_4;
            }
            return ((TargetClassAware)dispatcher.loadObject()).getTargetClass();
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public AopTestBean$$EnhancerBySpringCGLIB$$7e112399() {
        try {
            CGLIB$BIND_CALLBACKS(this);
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public static void CGLIB$SET_THREAD_CALLBACKS(final Callback[] array) {
        AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$THREAD_CALLBACKS.set(array);
    }
    
    public static void CGLIB$SET_STATIC_CALLBACKS(final Callback[] cglib$STATIC_CALLBACKS) {
        CGLIB$STATIC_CALLBACKS = cglib$STATIC_CALLBACKS;
    }
    
    private static final void CGLIB$BIND_CALLBACKS(final Object o) {
        final AopTestBean$$EnhancerBySpringCGLIB$$7e112399 aopTestBean$$EnhancerBySpringCGLIB$$7e112399 = (AopTestBean$$EnhancerBySpringCGLIB$$7e112399)o;
        if (!aopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$BOUND) {
            aopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$BOUND = true;
            Callback[] array;
            if ((array = AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$THREAD_CALLBACKS.get()) != null || (array = AopTestBean$$EnhancerBySpringCGLIB$$7e112399.CGLIB$STATIC_CALLBACKS) != null) {
                final Callback[] array2 = array;
                final AopTestBean$$EnhancerBySpringCGLIB$$7e112399 aopTestBean$$EnhancerBySpringCGLIB$$7e112400 = aopTestBean$$EnhancerBySpringCGLIB$$7e112399;
                aopTestBean$$EnhancerBySpringCGLIB$$7e112400.CGLIB$CALLBACK_6 = (MethodInterceptor)array2[6];
                aopTestBean$$EnhancerBySpringCGLIB$$7e112400.CGLIB$CALLBACK_5 = (MethodInterceptor)array2[5];
                aopTestBean$$EnhancerBySpringCGLIB$$7e112400.CGLIB$CALLBACK_4 = (Dispatcher)array2[4];
                aopTestBean$$EnhancerBySpringCGLIB$$7e112400.CGLIB$CALLBACK_3 = (Dispatcher)array2[3];
                aopTestBean$$EnhancerBySpringCGLIB$$7e112400.CGLIB$CALLBACK_2 = (NoOp)array2[2];
                aopTestBean$$EnhancerBySpringCGLIB$$7e112400.CGLIB$CALLBACK_1 = (MethodInterceptor)array2[1];
                aopTestBean$$EnhancerBySpringCGLIB$$7e112400.CGLIB$CALLBACK_0 = (MethodInterceptor)array2[0];
            }
        }
    }
    
    public Object newInstance(final Callback[] array) {
        try {
            CGLIB$SET_THREAD_CALLBACKS(array);
            final AopTestBean$$EnhancerBySpringCGLIB$$7e112399 aopTestBean$$EnhancerBySpringCGLIB$$7e112399 = new AopTestBean$$EnhancerBySpringCGLIB$$7e112399();
            CGLIB$SET_THREAD_CALLBACKS(null);
            return aopTestBean$$EnhancerBySpringCGLIB$$7e112399;
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public Object newInstance(final Callback callback) {
        try {
            throw new IllegalStateException("More than one callback object required");
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public Object newInstance(final Class[] array, final Object[] array2, final Callback[] array3) {
        try {
            CGLIB$SET_THREAD_CALLBACKS(array3);
            switch (array.length) {
                case 0: {
                    final AopTestBean$$EnhancerBySpringCGLIB$$7e112399 aopTestBean$$EnhancerBySpringCGLIB$$7e112399 = new AopTestBean$$EnhancerBySpringCGLIB$$7e112399();
                    CGLIB$SET_THREAD_CALLBACKS(null);
                    return aopTestBean$$EnhancerBySpringCGLIB$$7e112399;
                }
                default: {
                    throw new IllegalArgumentException("Constructor not found");
                }
            }
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public Callback getCallback(final int n) {
        try {
            CGLIB$BIND_CALLBACKS(this);
            Object o = null;
            switch (n) {
                case 0: {
                    o = this.CGLIB$CALLBACK_0;
                    break;
                }
                case 1: {
                    o = this.CGLIB$CALLBACK_1;
                    break;
                }
                case 2: {
                    o = this.CGLIB$CALLBACK_2;
                    break;
                }
                case 3: {
                    o = this.CGLIB$CALLBACK_3;
                    break;
                }
                case 4: {
                    o = this.CGLIB$CALLBACK_4;
                    break;
                }
                case 5: {
                    o = this.CGLIB$CALLBACK_5;
                    break;
                }
                case 6: {
                    o = this.CGLIB$CALLBACK_6;
                    break;
                }
                default: {
                    o = null;
                    break;
                }
            }
            return (Callback)o;
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public void setCallback(final int n, final Callback callback) {
        try {
            switch (n) {
                case 0: {
                    this.CGLIB$CALLBACK_0 = (MethodInterceptor)callback;
                    break;
                }
                case 1: {
                    this.CGLIB$CALLBACK_1 = (MethodInterceptor)callback;
                    break;
                }
                case 2: {
                    this.CGLIB$CALLBACK_2 = (NoOp)callback;
                    break;
                }
                case 3: {
                    this.CGLIB$CALLBACK_3 = (Dispatcher)callback;
                    break;
                }
                case 4: {
                    this.CGLIB$CALLBACK_4 = (Dispatcher)callback;
                    break;
                }
                case 5: {
                    this.CGLIB$CALLBACK_5 = (MethodInterceptor)callback;
                    break;
                }
                case 6: {
                    this.CGLIB$CALLBACK_6 = (MethodInterceptor)callback;
                    break;
                }
            }
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public Callback[] getCallbacks() {
        try {
            CGLIB$BIND_CALLBACKS(this);
            return new Callback[] { this.CGLIB$CALLBACK_0, this.CGLIB$CALLBACK_1, this.CGLIB$CALLBACK_2, this.CGLIB$CALLBACK_3, this.CGLIB$CALLBACK_4, this.CGLIB$CALLBACK_5, this.CGLIB$CALLBACK_6 };
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    public void setCallbacks(final Callback[] array) {
        try {
            this.CGLIB$CALLBACK_0 = (MethodInterceptor)array[0];
            this.CGLIB$CALLBACK_1 = (MethodInterceptor)array[1];
            this.CGLIB$CALLBACK_2 = (NoOp)array[2];
            this.CGLIB$CALLBACK_3 = (Dispatcher)array[3];
            this.CGLIB$CALLBACK_4 = (Dispatcher)array[4];
            this.CGLIB$CALLBACK_5 = (MethodInterceptor)array[5];
            this.CGLIB$CALLBACK_6 = (MethodInterceptor)array[6];
        }
        catch (RuntimeException | Error ex) {
            throw;
        }
        catch (Throwable t) {
            throw new UndeclaredThrowableException(t);
        }
    }
    
    static {
        CGLIB$STATICHOOK2();
        CGLIB$STATICHOOK1();
    }
    
    static void CGLIB$STATICHOOK2() {
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值