public final class ReflectUtil extends Object
Modifier and Type | Class and Description |
---|---|
static class |
ReflectUtil.ReflectException |
Modifier and Type | Method and Description |
---|---|
static <C,R> Functions.R0<R> |
bindInstanceR0(C instance,
String name,
boolean setAccessible,
Class<? extends R> rType)
load an instance method that takes no parameters and return type R
|
static <A1,C,R> Functions.R1<R,A1> |
bindInstanceR1(C instance,
String name,
boolean setAccessible,
Class<? extends R> rType,
Class<? super A1> a1Type)
load an instance method that takes 1 parameter and returns type R
|
static <A1,C> Functions.V1<A1> |
bindInstanceV1(C instance,
String name,
boolean setAccessible,
Class<? super A1> a1Type)
* load an instance method that takes 1 parameter and returns nothing
|
static <A1,A2,C> Functions.V2<A1,A2> |
bindInstanceV2(C instance,
String name,
boolean setAccessible,
Class<? super A1> a1Type,
Class<? super A2> a2Type)
load an instance method that takes 2 parameter and returns nothing
|
static Class<?> |
copyClass(Class<?> clazz,
ClassLoader cl)
Copy a class from one class loader to another.
|
static Class<?> |
getRawClass(Type type) |
static <T> T |
getStaticField(Class<?> clazz,
String name,
Class<? extends T> type) |
static Class<?> |
loadClass(ClassLoader cl,
String name) |
static <C> Functions.R0<C> |
loadConstructor0(Class<? extends C> clazz,
boolean setAccessible)
load default constructor
|
static <A1,C> Functions.R1<C,A1> |
loadConstructor1(Class<? extends C> clazz,
boolean setAccessible,
Class<? super A1> a1Type)
load constructor that takes 1 parameter
|
static <A1,A2,C> Functions.R2<C,A1,A2> |
loadConstructor2(Class<? extends C> clazz,
boolean setAccessible,
Class<? super A1> a1Type,
Class<? super A2> a2Type)
load constructor that takes 2 parameters
|
static <C,A1,A2,A3> |
loadConstuctor3(Class<? extends C> clazz,
boolean setAccessible,
Class<? super A1> a1Type,
Class<? super A2> a2Type,
Class<? super A3> a3Type)
load constuctor that takes 3 parameters
|
static <C,A1,A2,A3,A4> |
loadConstuctor4(Class<? extends C> clazz,
boolean setAccessible,
Class<? super A1> a1Type,
Class<? super A2> a2Type,
Class<? super A3> a3Type,
Class<? super A4> a4Type)
loads constructor that takes 4 parameters
|
static <C,A1,A2,A3,A4,A5> |
loadConstuctor5(Class<? extends C> clazz,
boolean setAccessible,
Class<? super A1> a1Type,
Class<? super A2> a2Type,
Class<? super A3> a3Type,
Class<? super A4> a4Type,
Class<? super A5> a5Type)
loads constructor that takes 5 paramters
|
static <C,A1,A2,A3,A4,A5,A6,A7,A8,A9> |
loadConstuctor9(Class<? extends C> clazz,
boolean setAccessible,
Class<? super A1> a1Type,
Class<? super A2> a2Type,
Class<? super A3> a3Type,
Class<? super A4> a4Type,
Class<? super A5> a5Type,
Class<? super A6> a6Type,
Class<? super A7> a7Type,
Class<? super A8> a8Type,
Class<? super A9> a9type)
load constuctor that takes 9 parameters
|
static <C,R> Functions.R1<R,C> |
loadInstanceR0(Class<? super C> clazz,
String name,
boolean setAccessible,
Class<? extends R> rType)
load instance method that takes no parameters and returns type R
|
static <A1,A2,A3,A4,C,R> |
loadInstanceR4(Class<? super C> clazz,
String name,
boolean setAccessible,
Class<? extends R> rType,
Class<? super A1> a1Type,
Class<? super A2> a2Type,
Class<? super A3> a3Type,
Class<? super A4> a4Type)
load instance method that takes 4 parameters and return type R
|
static <A1,C> Functions.V2<C,A1> |
loadInstanceV1(Class<? super C> clazz,
String name,
boolean setAccessible,
Class<? super A1> a1Type)
load an instance method that take 1 parameter and does not return anything
|
static <R> Functions.R0<R> |
loadStaticR0(Class<?> clazz,
String name,
boolean setAccessible,
Class<? extends R> rType)
load static method that takes no parameters and returns type R
|
static <A1,R> Functions.R1<R,A1> |
loadStaticR1(Class<?> clazz,
String name,
boolean setAccessible,
Class<? extends R> rType,
Class<? super A1> a1Type)
load static method that takes one parameter and returns type R
|
static <A1,A2> Functions.V2<A1,A2> |
loadStaticV2(Class<?> clazz,
String name,
boolean setAccessible,
Class<? super A1> a1Type,
Class<? super A2> a2Type)
load static method that takes two parameters and return nothing
|
static <T> Functions.R1<T,Object> |
makeCaster(Class<? extends T> clazz) |
static Functions.R1<Object,Object> |
makeCaster(Type type) |
static void |
setStaticField(Class<?> clazz,
String name,
boolean setAccessible,
Object value) |
public static Class<?> copyClass(Class<?> clazz, ClassLoader cl)
clazz
- class to copycl
- class loader to copy class toUncheckedIOException
- if class cannot be copiedReflectUtil.ReflectException
- if class cannot be read after copyingpublic static Class<?> loadClass(ClassLoader cl, String name)
public static Functions.R1<Object,Object> makeCaster(Type type)
public static <T> Functions.R1<T,Object> makeCaster(Class<? extends T> clazz)
public static <C,R> Functions.R1<R,C> loadInstanceR0(Class<? super C> clazz, String name, boolean setAccessible, Class<? extends R> rType)
C
- instance class typeR
- return typeclazz
- Class of instancename
- name of methodsetAccessible
- whether method is accessible (public vs private)rType
- class of return typepublic static <A1,A2,A3,A4,C,R> Functions.R5<R,C,A1,A2,A3,A4> loadInstanceR4(Class<? super C> clazz, String name, boolean setAccessible, Class<? extends R> rType, Class<? super A1> a1Type, Class<? super A2> a2Type, Class<? super A3> a3Type, Class<? super A4> a4Type)
A1
- argument 1 typeA2
- argument 2 typeA3
- argument 3 typeA4
- argument 4 typeC
- instance class typeR
- return typeclazz
- class of instancename
- name of methodsetAccessible
- whether method is accessible (public vs private)rType
- class of return typea1Type
- argument 1 classa2Type
- argument 2 classa3Type
- argument 3 classa4Type
- argument 4 classpublic static <A1,C> Functions.V2<C,A1> loadInstanceV1(Class<? super C> clazz, String name, boolean setAccessible, Class<? super A1> a1Type)
C
- instance class typeA1
- argument 1 typeclazz
- class of instancename
- name of methodsetAccessible
- whether method is accessible (public vs private)a1Type
- argument 1 classpublic static <C,R> Functions.R0<R> bindInstanceR0(C instance, String name, boolean setAccessible, Class<? extends R> rType)
C
- instance typeR
- return typeinstance
- instance to load method fromname
- method namesetAccessible
- whether method is accessible (public vs private)rType
- class of return typepublic static <A1,C,R> Functions.R1<R,A1> bindInstanceR1(C instance, String name, boolean setAccessible, Class<? extends R> rType, Class<? super A1> a1Type)
C
- instance typeA1
- argument 1 typeR
- return typeinstance
- instance to load method fromname
- method namesetAccessible
- whether method is accessible (public vs private)rType
- class of return typea1Type
- class of argument 1public static <A1,C> Functions.V1<A1> bindInstanceV1(C instance, String name, boolean setAccessible, Class<? super A1> a1Type)
C
- instance typeA1
- argument 1 typeinstance
- instance to load method fromname
- method namesetAccessible
- whether method is accessible (public vs private)a1Type
- class of argument 1public static <A1,A2,C> Functions.V2<A1,A2> bindInstanceV2(C instance, String name, boolean setAccessible, Class<? super A1> a1Type, Class<? super A2> a2Type)
C
- instance typeA1
- argument 1 typeA2
- argument 2 typeinstance
- instance to load method fromname
- method namesetAccessible
- whether method is accessible (public vs private)a1Type
- class of argument 1a2Type
- class of argument 2public static <R> Functions.R0<R> loadStaticR0(Class<?> clazz, String name, boolean setAccessible, Class<? extends R> rType)
R
- return typeclazz
- class to load static method fromname
- method namesetAccessible
- whether method is accessible (public vs private)rType
- class of return typepublic static <A1,R> Functions.R1<R,A1> loadStaticR1(Class<?> clazz, String name, boolean setAccessible, Class<? extends R> rType, Class<? super A1> a1Type)
R
- return typeA1
- argument 1 typeclazz
- class to load static method fromname
- method namesetAccessible
- whether method is accessible (public vs private)rType
- class of return typea1Type
- argument 1 classpublic static <A1,A2> Functions.V2<A1,A2> loadStaticV2(Class<?> clazz, String name, boolean setAccessible, Class<? super A1> a1Type, Class<? super A2> a2Type)
A1
- argument 1 typeA2
- argument 2 typeclazz
- class to load static method fromname
- method namesetAccessible
- whether method is accessible (public vs private)a1Type
- argument 1 classa2Type
- argument 2 classpublic static <C> Functions.R0<C> loadConstructor0(Class<? extends C> clazz, boolean setAccessible)
C
- Class typeclazz
- Class to load constructor forsetAccessible
- whether method is accessible (public vs private)public static <A1,C> Functions.R1<C,A1> loadConstructor1(Class<? extends C> clazz, boolean setAccessible, Class<? super A1> a1Type)
C
- Class typeA1
- argument 1 typeclazz
- Class to load constructor forsetAccessible
- whether method is accessible (public vs private)a1Type
- argument 1 classpublic static <A1,A2,C> Functions.R2<C,A1,A2> loadConstructor2(Class<? extends C> clazz, boolean setAccessible, Class<? super A1> a1Type, Class<? super A2> a2Type)
C
- Class typeA1
- argument 1 typeA2
- argument 2 typeclazz
- Class to load constructor forsetAccessible
- whether method is accessible (public vs private)a1Type
- argument 1 classa2Type
- argument 2 classpublic static <C,A1,A2,A3> Functions.R3<C,A1,A2,A3> loadConstuctor3(Class<? extends C> clazz, boolean setAccessible, Class<? super A1> a1Type, Class<? super A2> a2Type, Class<? super A3> a3Type)
C
- Class typeA1
- argument 1 typeA2
- argument 2 typeA3
- argument 3 typeclazz
- class to load constructor forsetAccessible
- whether method is accessible (public vs private)a1Type
- argument 1 classa2Type
- argument 2 classa3Type
- argument 3 classpublic static <C,A1,A2,A3,A4> Functions.R4<C,A1,A2,A3,A4> loadConstuctor4(Class<? extends C> clazz, boolean setAccessible, Class<? super A1> a1Type, Class<? super A2> a2Type, Class<? super A3> a3Type, Class<? super A4> a4Type)
C
- Class typeA1
- argument 1 typeA2
- argument 2 typeA3
- argument 3 typeA4
- argument 4 typeclazz
- class to load constructor forsetAccessible
- whether method is accessible (public vs private)a1Type
- argument 1 classa2Type
- argument 2 classa3Type
- argument 3 classa4Type
- argument 4 classpublic static <C,A1,A2,A3,A4,A5> Functions.R5<C,A1,A2,A3,A4,A5> loadConstuctor5(Class<? extends C> clazz, boolean setAccessible, Class<? super A1> a1Type, Class<? super A2> a2Type, Class<? super A3> a3Type, Class<? super A4> a4Type, Class<? super A5> a5Type)
C
- Class typeA1
- argument 1 typeA2
- argument 2 typeA3
- argument 3 typeA4
- argument 4 typeA5
- argument 5 typeclazz
- class to load constructor forsetAccessible
- whether method is accessible (public vs private)a1Type
- argument 1 classa2Type
- argument 2 classa3Type
- argument 3 classa4Type
- argument 4 classa5Type
- argument 5 classpublic static <C,A1,A2,A3,A4,A5,A6,A7,A8,A9> Functions.R9<C,A1,A2,A3,A4,A5,A6,A7,A8,A9> loadConstuctor9(Class<? extends C> clazz, boolean setAccessible, Class<? super A1> a1Type, Class<? super A2> a2Type, Class<? super A3> a3Type, Class<? super A4> a4Type, Class<? super A5> a5Type, Class<? super A6> a6Type, Class<? super A7> a7Type, Class<? super A8> a8Type, Class<? super A9> a9type)
C
- Class typeA1
- argument 1 typeA2
- argument 2 typeA3
- argument 3 typeA4
- argument 4 typeA5
- argument 5 typeA6
- argument 6 typeA7
- argument 7 typeA8
- argument 8 typeA9
- argument 9 typea1Type
- argument 1 classa2Type
- argument 2 classa3Type
- argument 3 classa4Type
- argument 4 classa5Type
- argument 5 classa6Type
- argument 6 classa7Type
- argument 7 classa8Type
- argument 8 classa9type
- argument 9 classpublic static <T> T getStaticField(Class<?> clazz, String name, Class<? extends T> type)
Copyright © 2023. All rights reserved.