Package one.nio.util
Class MethodHandlesReflection
- java.lang.Object
-
- one.nio.util.MethodHandlesReflection
-
public class MethodHandlesReflection extends java.lang.ObjectAllows to lookup information about available Class' methods using java.lang.invoke API, when the standard getDeclaredMethods() fail with NoClassDefFoundError due to some missing class file. All lookups are made recursively through parent classes.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.invoke.MethodHandles.LookupprivateLookup
-
Constructor Summary
Constructors Constructor Description MethodHandlesReflection()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.invoke.MethodHandleInfofindInstanceMethod(java.lang.Class<?> cls, java.lang.String name, java.lang.invoke.MethodType type)static java.lang.invoke.MethodHandleInfofindInstanceMethodOrThrow(java.lang.Class<?> cls, java.lang.String name, java.lang.invoke.MethodType type)static java.lang.invoke.MethodHandleInfofindStaticMethod(java.lang.Class<?> cls, java.lang.String name, java.lang.invoke.MethodType type)static java.lang.invoke.MethodHandleInfofindStaticMethodOrThrow(java.lang.Class<?> cls, java.lang.String name, java.lang.invoke.MethodType type)private static java.lang.invoke.MethodHandles.LookupgetPrivateLookup()
-
-
-
Method Detail
-
getPrivateLookup
private static java.lang.invoke.MethodHandles.Lookup getPrivateLookup()
-
findInstanceMethod
public static java.lang.invoke.MethodHandleInfo findInstanceMethod(java.lang.Class<?> cls, java.lang.String name, java.lang.invoke.MethodType type)
-
findInstanceMethodOrThrow
public static java.lang.invoke.MethodHandleInfo findInstanceMethodOrThrow(java.lang.Class<?> cls, java.lang.String name, java.lang.invoke.MethodType type) throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException- Throws:
java.lang.NoSuchMethodExceptionjava.lang.IllegalAccessException
-
findStaticMethod
public static java.lang.invoke.MethodHandleInfo findStaticMethod(java.lang.Class<?> cls, java.lang.String name, java.lang.invoke.MethodType type)
-
findStaticMethodOrThrow
public static java.lang.invoke.MethodHandleInfo findStaticMethodOrThrow(java.lang.Class<?> cls, java.lang.String name, java.lang.invoke.MethodType type) throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException- Throws:
java.lang.NoSuchMethodExceptionjava.lang.IllegalAccessException
-
-