Package me.datafox.dfxengine.utils
Class ClassUtils
java.lang.Object
me.datafox.dfxengine.utils.ClassUtils
Utilities for classes and reflection.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfilterInstanceAndCast(Class<C> aClass) static <T,C> Stream <C> filterInstanceAndCast(T input, Class<C> aClass) static <T extends Annotation>
Optional<T> getAnnotationFromArray(Annotation[] arr, Class<T> annotationType) static <T> List<Constructor<T>> getConstructorsWithAnnotation(Class<T> aClass, Class<? extends Annotation> annotation) getFieldsWithAnnotation(Class<T> aClass, Class<? extends Annotation> annotation) getMethodsWithAnnotation(Class<T> aClass, Class<? extends Annotation> annotation) getSuperclassesFor(Class<? super T> aClass)
-
Constructor Details
-
ClassUtils
public ClassUtils()
-
-
Method Details
-
getSuperclassesFor
- Type Parameters:
T- type of the class- Parameters:
aClass- class- Returns:
- Stream of the class and all superclasses and superinterfaces of the class
-
getConstructorsWithAnnotation
public static <T> List<Constructor<T>> getConstructorsWithAnnotation(Class<T> aClass, Class<? extends Annotation> annotation) - Type Parameters:
T- type of the class- Parameters:
aClass- classannotation- annotation- Returns:
- List of all declared constructors of the class with the annotation
-
getFieldsWithAnnotation
public static <T> List<Field> getFieldsWithAnnotation(Class<T> aClass, Class<? extends Annotation> annotation) - Type Parameters:
T- type of the class- Parameters:
aClass- classannotation- annotation- Returns:
- List of all declared fields of the class with the annotation
-
getMethodsWithAnnotation
public static <T> List<Method> getMethodsWithAnnotation(Class<T> aClass, Class<? extends Annotation> annotation) - Type Parameters:
T- type of the class- Parameters:
aClass- classannotation- annotation- Returns:
- List of all declared methods of the class with the annotation
-
getAnnotationFromArray
public static <T extends Annotation> Optional<T> getAnnotationFromArray(Annotation[] arr, Class<T> annotationType) - Type Parameters:
T- type of the annotation- Parameters:
arr- array of annotationsannotationType- annotation type- Returns:
- Optional containing the first annotation in the array matching the type, or empty if no matches are found
-
filterInstanceAndCast
-
filterInstanceAndCast
-