Package io.servicetalk.utils.internal
Class ReflectionUtils
java.lang.Object
io.servicetalk.utils.internal.ReflectionUtils
Provide utilities to assist reflective access.
This class is forked from the netty project and modified to suit our needs.
-
Method Summary
Modifier and TypeMethodDescriptionstatic Method
retrieveMethod
(Class<?> clazz, String name, Class<?>... parameterTypes) static Throwable
trySetAccessible
(AccessibleObject object, boolean checkAccessible) Try to callAccessibleObject.setAccessible(boolean)
but will catch anySecurityException
andjava.lang.reflect.InaccessibleObjectException
(for JDK 9) and return it.
-
Method Details
-
retrieveMethod
Retrieves the specificMethod
from theClass
without checked exception.Throws
IllegalArgumentException
ifNoSuchMethodException
is thrown. -
trySetAccessible
@Nullable public static Throwable trySetAccessible(AccessibleObject object, boolean checkAccessible) Try to callAccessibleObject.setAccessible(boolean)
but will catch anySecurityException
andjava.lang.reflect.InaccessibleObjectException
(for JDK 9) and return it. The caller must check if it returnsnull
and if not handle the returned exception.- Parameters:
object
- The object to attempt to make accessible.checkAccessible
-true
to respect system property configuration which may limitAccessibleObject.setAccessible(boolean)
attempts.false
to try regardless of system property configuration.- Returns:
- a
Throwable
indicating the exception that occurred while attempting to makeobject
accessible, ornull
if the operation was successful.
-