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 © 2020. All rights reserved.