Package io.servicetalk.utils.internal
Class ReflectionUtils
- java.lang.Object
-
- io.servicetalk.utils.internal.ReflectionUtils
-
public final class ReflectionUtils extends java.lang.ObjectProvide utilities to assist reflective access. This class is forked from the netty project and modified to suit our needs.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.reflect.MethodretrieveMethod(java.lang.Class<?> clazz, java.lang.String name, java.lang.Class<?>... parameterTypes)Retrieves the specificMethodfrom theClasswithout checked exception.static java.lang.ThrowabletrySetAccessible(java.lang.reflect.AccessibleObject object, boolean checkAccessible)Try to callAccessibleObject.setAccessible(boolean)but will catch anySecurityExceptionandjava.lang.reflect.InaccessibleObjectException(for JDK 9) and return it.
-
-
-
Method Detail
-
retrieveMethod
public static java.lang.reflect.Method retrieveMethod(java.lang.Class<?> clazz, java.lang.String name, java.lang.Class<?>... parameterTypes)Retrieves the specificMethodfrom theClasswithout checked exception.Throws
IllegalArgumentExceptionifNoSuchMethodExceptionis thrown.- Parameters:
clazz-Classto retrieve aMethodfromname- the name of the methodparameterTypes- the list of method parameters- Returns:
- the
Methodobject
-
trySetAccessible
@Nullable public static java.lang.Throwable trySetAccessible(java.lang.reflect.AccessibleObject object, boolean checkAccessible)Try to callAccessibleObject.setAccessible(boolean)but will catch anySecurityExceptionandjava.lang.reflect.InaccessibleObjectException(for JDK 9) and return it. The caller must check if it returnsnulland if not handle the returned exception.- Parameters:
object- The object to attempt to make accessible.checkAccessible-trueto respect system property configuration which may limitAccessibleObject.setAccessible(boolean)attempts.falseto try regardless of system property configuration.- Returns:
- a
Throwableindicating the exception that occurred while attempting to makeobjectaccessible, ornullif the operation was successful.
-
-