mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-24 18:04:54 +08:00
add methods
This commit is contained in:
parent
3f7f05b9ee
commit
a066afd4d4
@ -26,6 +26,8 @@ import java.lang.reflect.Proxy;
|
||||
*/
|
||||
public final class ProxyUtil {
|
||||
|
||||
private static final String CGLIB_CLASS_SEPARATOR = "$$";
|
||||
|
||||
/**
|
||||
* 获取动态代理引擎
|
||||
*
|
||||
@ -94,4 +96,34 @@ public final class ProxyUtil {
|
||||
return newProxyInstance(ClassLoaderUtil.getClassLoader(), invocationHandler, interfaces);
|
||||
}
|
||||
// endregion
|
||||
|
||||
/**
|
||||
* 是否为代理对象,判断JDK代理或Cglib代理
|
||||
*
|
||||
* @param object 被检查的对象
|
||||
* @return 是否为代理对象
|
||||
*/
|
||||
public static boolean isProxy(final Object object) {
|
||||
return isJdkProxy(object) || isCglibProxy(object);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否为JDK代理对象
|
||||
*
|
||||
* @param object 被检查的对象
|
||||
* @return 是否为JDK代理对象
|
||||
*/
|
||||
public static boolean isJdkProxy(final Object object) {
|
||||
return Proxy.isProxyClass(object.getClass());
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否Cglib代理对象
|
||||
*
|
||||
* @param object 被检查的对象
|
||||
* @return 是否Cglib代理对象
|
||||
*/
|
||||
public static boolean isCglibProxy(final Object object) {
|
||||
return (object.getClass().getName().contains(CGLIB_CLASS_SEPARATOR));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user