TargetSource.java 671 字节
Newer Older
希川's avatar
希川 已提交
1 2
package cn.noexception.container.aop;

3 4
import cn.noexception.container.factory.utils.ClassUtils;

希川's avatar
希川 已提交
5 6 7 8 9 10 11 12 13 14
/**
 * TargetSource
 *
 * @author 吕滔
 * @Date 2021/11/3 15:16
 */
public class TargetSource {

    private final Object target;

15
    public TargetSource(Object target) {
希川's avatar
希川 已提交
16 17 18
        this.target = target;
    }

19 20 21 22 23
    public Class<?>[] getTargetClass() {
        Class<?> clazz = this.target.getClass();
        // 如果是 cglib 代理的话,得获取 superClass 才可以
        clazz = ClassUtils.isCglibProxyClass(clazz) ? clazz.getSuperclass() : clazz;
        return clazz.getInterfaces();
希川's avatar
希川 已提交
24 25
    }

26
    public Object getTarget() {
希川's avatar
希川 已提交
27 28 29 30
        return this.target;
    }

}