Class ReflectionUtil
java.lang.Object
io.netty.util.internal.ReflectionUtil
public final class ReflectionUtil
extends java.lang.Object
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static java.lang.Class<?> fail(java.lang.Class<?> type, java.lang.String typeParamName) private static java.lang.RuntimeExceptionhandleInaccessibleObjectException(java.lang.RuntimeException e) static java.lang.Class<?> resolveTypeParameter(java.lang.Object object, java.lang.Class<?> parametrizedSuperclass, java.lang.String typeParamName) Resolve a type parameter of a class that is a subclass of the given parametrized superclass.static java.lang.ThrowabletrySetAccessible(java.lang.reflect.AccessibleObject object, boolean checkAccessible) Try to callAccessibleObject.setAccessible(boolean)but will catch anySecurityExceptionandand return it.invalid reference
java.lang.reflect.InaccessibleObjectExceptionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
ReflectionUtil
private ReflectionUtil()
-
-
Method Details
-
trySetAccessible
public static java.lang.Throwable trySetAccessible(java.lang.reflect.AccessibleObject object, boolean checkAccessible) Try to callAccessibleObject.setAccessible(boolean)but will catch anySecurityExceptionandand return it. The caller must check if it returnsinvalid reference
java.lang.reflect.InaccessibleObjectExceptionnulland if not handle the returned exception. -
handleInaccessibleObjectException
private static java.lang.RuntimeException handleInaccessibleObjectException(java.lang.RuntimeException e) -
fail
private static java.lang.Class<?> fail(java.lang.Class<?> type, java.lang.String typeParamName) -
resolveTypeParameter
public static java.lang.Class<?> resolveTypeParameter(java.lang.Object object, java.lang.Class<?> parametrizedSuperclass, java.lang.String typeParamName) Resolve a type parameter of a class that is a subclass of the given parametrized superclass.- Parameters:
object- The object to resolve the type parameter forparametrizedSuperclass- The parametrized superclasstypeParamName- The name of the type parameter to resolve- Returns:
- The resolved type parameter
- Throws:
java.lang.IllegalStateException- if the type parameter could not be resolved
-