Package io.netty.util.internal
Class ReflectionUtil
- java.lang.Object
-
- io.netty.util.internal.ReflectionUtil
-
public final class ReflectionUtil extends java.lang.Object
-
-
Constructor Summary
Constructors Modifier Constructor Description privateReflectionUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private 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 anySecurityExceptionandjava.lang.reflect.InaccessibleObjectExceptionand return it.
-
-
-
Method Detail
-
trySetAccessible
public static java.lang.Throwable trySetAccessible(java.lang.reflect.AccessibleObject object, boolean checkAccessible)Try to callAccessibleObject.setAccessible(boolean)but will catch anySecurityExceptionandjava.lang.reflect.InaccessibleObjectExceptionand return it. The caller must check if it returnsnulland 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
-
-