Package tech.ytsaurus.core.utils
Class ClassUtils
- java.lang.Object
-
- tech.ytsaurus.core.utils.ClassUtils
-
public class ClassUtils extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ClassUtils.TypeDescr
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
anyMatchWithAnnotation(java.lang.annotation.Annotation annotation, java.util.Set<java.lang.String> annotationNames)
static boolean
anyOfAnnotationsPresent(java.lang.reflect.AnnotatedElement element, java.util.Set<java.lang.String> annotations)
static <E,T>
E[]boxArray(T array, java.lang.Class<?> elementClass)
static <Type> Type
castToType(java.lang.Object object)
static <A> java.lang.Class<A>
erasure(java.lang.reflect.Type type)
static java.util.List<java.lang.reflect.Type>
getActualTypeArguments(java.lang.reflect.Type type)
static <T> java.util.List<java.lang.reflect.Field>
getAllDeclaredFields(java.lang.Class<T> clazz)
static java.util.List<java.lang.reflect.Type>
getAllGenericInterfaces(java.lang.Class<?> cls)
static java.util.Optional<java.lang.annotation.Annotation>
getAnnotationIfPresent(java.lang.reflect.AnnotatedElement element, java.util.Set<java.lang.String> annotations)
static <A extends java.lang.annotation.Annotation,T extends java.lang.reflect.AnnotatedElement>
java.util.Optional<A>getAnnotationRecursive(T cls, java.lang.Class<A> annotationCls)
static java.util.function.Function<java.lang.Class<?>,java.lang.reflect.Constructor<?>>
getConstructorOrDefaultFor(java.lang.Class<?> clazz)
static <ObjectType>
ObjectTypegetInstanceWithoutArguments(java.lang.reflect.Constructor<?> defaultConstructor)
static ClassUtils.TypeDescr
getTypeDescription(java.lang.reflect.Type type)
static java.util.List<java.lang.reflect.Type>
getTypeParametersOfField(java.lang.reflect.Field field)
static <T> T
getValueOfAnnotationProperty(java.lang.annotation.Annotation annotation, java.lang.String propertyName)
static <A extends java.lang.annotation.Annotation,T extends java.lang.reflect.AnnotatedElement>
booleanhasAnnotationRecursive(T cls, java.lang.Class<A> annotationCls)
static boolean
isFieldTransient(java.lang.reflect.Field field, java.util.Set<java.lang.String> transientAnnotations)
static void
setFieldsAccessibleToTrue(java.util.List<java.lang.reflect.Field> fields)
static <T,O>
OunboxArray(T array, java.lang.Class<?> elementClass)
-
-
-
Method Detail
-
hasAnnotationRecursive
public static <A extends java.lang.annotation.Annotation,T extends java.lang.reflect.AnnotatedElement> boolean hasAnnotationRecursive(T cls, java.lang.Class<A> annotationCls)
-
getAnnotationRecursive
public static <A extends java.lang.annotation.Annotation,T extends java.lang.reflect.AnnotatedElement> java.util.Optional<A> getAnnotationRecursive(T cls, java.lang.Class<A> annotationCls)
-
getAllGenericInterfaces
public static java.util.List<java.lang.reflect.Type> getAllGenericInterfaces(java.lang.Class<?> cls)
-
erasure
public static <A> java.lang.Class<A> erasure(java.lang.reflect.Type type)
-
getActualTypeArguments
public static java.util.List<java.lang.reflect.Type> getActualTypeArguments(java.lang.reflect.Type type)
-
getAllDeclaredFields
public static <T> java.util.List<java.lang.reflect.Field> getAllDeclaredFields(java.lang.Class<T> clazz)
-
castToType
public static <Type> Type castToType(java.lang.Object object)
-
boxArray
public static <E,T> E[] boxArray(T array, java.lang.Class<?> elementClass)
-
unboxArray
public static <T,O> O unboxArray(T array, java.lang.Class<?> elementClass)
-
getTypeParametersOfField
public static java.util.List<java.lang.reflect.Type> getTypeParametersOfField(java.lang.reflect.Field field)
-
getTypeDescription
public static ClassUtils.TypeDescr getTypeDescription(java.lang.reflect.Type type)
-
isFieldTransient
public static boolean isFieldTransient(java.lang.reflect.Field field, java.util.Set<java.lang.String> transientAnnotations)
-
anyOfAnnotationsPresent
public static boolean anyOfAnnotationsPresent(java.lang.reflect.AnnotatedElement element, java.util.Set<java.lang.String> annotations)
-
anyMatchWithAnnotation
public static boolean anyMatchWithAnnotation(java.lang.annotation.Annotation annotation, java.util.Set<java.lang.String> annotationNames)
-
getAnnotationIfPresent
public static java.util.Optional<java.lang.annotation.Annotation> getAnnotationIfPresent(java.lang.reflect.AnnotatedElement element, java.util.Set<java.lang.String> annotations)
-
getValueOfAnnotationProperty
public static <T> T getValueOfAnnotationProperty(java.lang.annotation.Annotation annotation, java.lang.String propertyName)
-
setFieldsAccessibleToTrue
public static void setFieldsAccessibleToTrue(java.util.List<java.lang.reflect.Field> fields)
-
getConstructorOrDefaultFor
public static java.util.function.Function<java.lang.Class<?>,java.lang.reflect.Constructor<?>> getConstructorOrDefaultFor(java.lang.Class<?> clazz)
-
getInstanceWithoutArguments
public static <ObjectType> ObjectType getInstanceWithoutArguments(java.lang.reflect.Constructor<?> defaultConstructor)
-
-