mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
add methods
This commit is contained in:
@@ -26,6 +26,8 @@ import java.lang.reflect.Proxy;
|
|||||||
*/
|
*/
|
||||||
public final class ProxyUtil {
|
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);
|
return newProxyInstance(ClassLoaderUtil.getClassLoader(), invocationHandler, interfaces);
|
||||||
}
|
}
|
||||||
// endregion
|
// 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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user