Package io.inugami.api.tools
Class ReflectionUtils
- java.lang.Object
-
- io.inugami.api.tools.ReflectionUtils
-
public final class ReflectionUtils extends Object
-
-
Constructor Summary
Constructors Constructor Description ReflectionUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static FieldbuildField(Class<?> type, String name)static ObjectcallGetterForField(String field, Object instance)protected static StringchooseBase(String absolutePath, List<String> bases)static voidclose(Closeable... closeables)static Map<String,Map<String,Object>>convertEnumToMap(Class<? extends Enum<?>> enumClass)static Class<?>extractCdiBeanClass(Object bean)static <T> List<FieldGetterSetter>extractFieldGetterAndSetter(T instance)static Class<?>extractGenericType(Type genericType)static Class<?>extractGenericType(Type genericType, int typeIndex)static <T> List<Method>extractGetters(T instance)static List<Field>extractParentsFields(Class<?> superclass)static List<Field>getAllFields(Class<?> instanceClass)static <A extends Annotation,AE extends AnnotatedElement>
AgetAnnotation(AE annotatedElement, Class<A> annotation)static List<Object>getEnumValues(Class<?> enumClass)static FieldgetField(String fieldName, Class<?> instanceClass)static FieldgetField(String fieldName, Object instance)static ObjectgetFieldValue(String fieldName, Object instance)static Class<?>getGenericType(Type type)static ObjectgetStaticFieldValue(String fieldName, Class<?> clazz)static <AE extends AnnotatedElement>
booleanhasAnnotation(AE annotatedElement, Class<? extends Annotation>... annotations)static <T,A extends Annotation,AE extends AnnotatedElement>
TifHasAnnotation(AE annotatedElement, Class<A> annotation, Function<A,T> handler)static <T,A extends Annotation,AE extends AnnotatedElement>
TifHasAnnotation(AE annotatedElement, Class<A> annotation, Function<A,T> handler, Supplier<T> defaultValue)static <T> Tinvoke(Method method, Object object, Object... params)static <T> TinvokeMethod(String methodeName, Object currentObject)static <T> TinvokeMethods(Object object, String... methodeNames)static booleanisBasicType(Class<?> currentClass)static Set<Constructor<?>>loadAllConstructors(Class<?> clazz)static Set<Field>loadAllFields(Class<?> clazz)static List<Method>loadAllMethods(Class<?> clazz)static Set<Field>loadAllStaticFields(Class<?> clazz)static intparseInt(Object value)static <T,A extends Annotation,AE extends AnnotatedElement>
voidprocessOnAnnotation(AE annotatedElement, Class<A> annotationClass, Consumer<A> handler)static StringresolveNamed(Object object)static <T> TrunSafe(GenericActionWithException<T> action)static Set<Class<?>>scan(String basePackage, ClassLoader classloader, Predicate<Class<?>>... filters)protected static List<String>scanAllFiles(File currentFile, List<String> bases)protected static List<String>scanJar(URL url)static AnnotationsearchAnnotation(Annotation[] annotations, String... names)static <A extends Annotation,AE extends AnnotatedElement>
AsearchAnnotationInInterface(AE annotatedElement, Class<A> annotation)static <A extends Annotation>
AsearchAnnotationInInterfaceFromClass(Class<?> clazz, Class<A> annotation)static <A extends Annotation>
AsearchAnnotationInInterfaceFromMethod(Method method, Class<A> annotation)static MethodsearchMethod(Annotation annotation, String method)static MethodsearchMethod(Class<?> objectClass, String method)Deprecated.static MethodsearchMethodByName(Class<?> objectClass, String method)static MethodsearchMethodInClass(Method method, Class<?> clazz)static MethodsearchMethodInInterface(Method method, Class<?> clazz)static voidsetAccessible(Field field)static voidsetAccessible(Method method)static <T> TsetFieldValue(Field field, Object value, T instance)static voidsortMethods(List<Method> methods)static voidtraceError(Throwable e, org.slf4j.Logger logger)
-
-
-
Field Detail
-
GET
public static final String GET
- See Also:
- Constant Field Values
-
IS
public static final String IS
- See Also:
- Constant Field Values
-
CLASS_FILE
public static final String CLASS_FILE
- See Also:
- Constant Field Values
-
NAME
public static final String NAME
- See Also:
- Constant Field Values
-
JAR_FILE
public static final String JAR_FILE
- See Also:
- Constant Field Values
-
PACKAGE_SEPARATOR
public static final String PACKAGE_SEPARATOR
- See Also:
- Constant Field Values
-
EMPTY
public static final String EMPTY
- See Also:
- Constant Field Values
-
BOOT_INF_CLASSES
public static final String BOOT_INF_CLASSES
- See Also:
- Constant Field Values
-
-
Method Detail
-
scan
@SafeVarargs public static Set<Class<?>> scan(String basePackage, ClassLoader classloader, Predicate<Class<?>>... filters)
-
scanJar
protected static List<String> scanJar(URL url) throws URISyntaxException, IOException
- Throws:
URISyntaxExceptionIOException
-
searchAnnotation
public static Annotation searchAnnotation(Annotation[] annotations, String... names)
-
hasAnnotation
public static <AE extends AnnotatedElement> boolean hasAnnotation(AE annotatedElement, Class<? extends Annotation>... annotations)
-
ifHasAnnotation
public static <T,A extends Annotation,AE extends AnnotatedElement> T ifHasAnnotation(AE annotatedElement, Class<A> annotation, Function<A,T> handler)
-
ifHasAnnotation
public static <T,A extends Annotation,AE extends AnnotatedElement> T ifHasAnnotation(AE annotatedElement, Class<A> annotation, Function<A,T> handler, Supplier<T> defaultValue)
-
processOnAnnotation
public static <T,A extends Annotation,AE extends AnnotatedElement> void processOnAnnotation(AE annotatedElement, Class<A> annotationClass, Consumer<A> handler)
-
getAnnotation
public static <A extends Annotation,AE extends AnnotatedElement> A getAnnotation(AE annotatedElement, Class<A> annotation)
-
searchAnnotationInInterface
public static <A extends Annotation,AE extends AnnotatedElement> A searchAnnotationInInterface(AE annotatedElement, Class<A> annotation)
-
searchAnnotationInInterfaceFromMethod
public static <A extends Annotation> A searchAnnotationInInterfaceFromMethod(Method method, Class<A> annotation)
-
searchMethodInInterface
public static Method searchMethodInInterface(Method method, Class<?> clazz)
-
searchAnnotationInInterfaceFromClass
public static <A extends Annotation> A searchAnnotationInInterfaceFromClass(Class<?> clazz, Class<A> annotation)
-
loadAllConstructors
public static Set<Constructor<?>> loadAllConstructors(Class<?> clazz)
-
searchMethod
public static Method searchMethod(Annotation annotation, String method)
-
searchMethod
@Deprecated(since="3.2.5") public static Method searchMethod(Class<?> objectClass, String method)
Deprecated.
-
extractFieldGetterAndSetter
public static <T> List<FieldGetterSetter> extractFieldGetterAndSetter(T instance)
-
setAccessible
public static void setAccessible(Method method)
-
setAccessible
public static void setAccessible(Field field)
-
isBasicType
public static boolean isBasicType(Class<?> currentClass)
-
parseInt
public static int parseInt(Object value)
-
runSafe
public static <T> T runSafe(GenericActionWithException<T> action)
-
traceError
public static void traceError(Throwable e, org.slf4j.Logger logger)
-
convertEnumToMap
public static Map<String,Map<String,Object>> convertEnumToMap(Class<? extends Enum<?>> enumClass)
-
close
public static void close(Closeable... closeables)
-
-