Package de.cronn.reflection.util
Class PropertyUtils
java.lang.Object
de.cronn.reflection.util.PropertyUtils
public final class PropertyUtils
extends java.lang.Object
-
Method Summary
Modifier and Type Method Description static <T> TcopyNonDefaultValues(T source, T destination)static <T> TcopyNonDefaultValues(T source, T destination, java.beans.PropertyDescriptor... excludedProperties)static <T> TcopyNonDefaultValues(T source, T destination, java.util.Collection<java.beans.PropertyDescriptor> excludedProperties)static <T> java.lang.ObjectcopyValue(T source, T destination, java.beans.PropertyDescriptor propertyDescriptor)static <T> java.lang.reflect.MethodfindMethodByGetter(java.lang.Class<T> beanClass, TypedPropertyGetter<T,?> propertyGetter)static <A extends java.lang.annotation.Annotation>
AgetAnnotationOfProperty(java.lang.Class<?> entityType, java.beans.PropertyDescriptor descriptor, java.lang.Class<A> annotationClass)static <T, A extends java.lang.annotation.Annotation>
AgetAnnotationOfProperty(java.lang.Class<T> entityType, TypedPropertyGetter<T,?> propertyGetter, java.lang.Class<A> annotationClass)static <A extends java.lang.annotation.Annotation>
AgetAnnotationOfProperty(java.lang.Object object, java.beans.PropertyDescriptor descriptor, java.lang.Class<A> annotationClass)static <T> java.lang.ObjectgetDefaultValue(java.lang.Class<T> objectClass, java.beans.PropertyDescriptor propertyDescriptor)static java.lang.ObjectgetDefaultValueObject(java.lang.Class<?> type)static <T> java.lang.reflect.MethodgetMethod(java.lang.Class<T> beanClass, TypedPropertyGetter<T,?> propertyGetter)static <T> java.beans.PropertyDescriptorgetPropertyDescriptor(java.lang.Class<T> beanClass, TypedPropertyGetter<T,?> propertyGetter)static <T> java.beans.PropertyDescriptorgetPropertyDescriptor(T bean, TypedPropertyGetter<T,?> propertyGetter)static <T> java.beans.PropertyDescriptorgetPropertyDescriptorByField(java.lang.Class<T> beanClass, java.lang.reflect.Field field)static <T> java.beans.PropertyDescriptorgetPropertyDescriptorByMethod(java.lang.Class<T> beanClass, java.lang.reflect.Method method)static java.beans.PropertyDescriptorgetPropertyDescriptorByName(java.lang.Class<?> beanClass, java.lang.String propertyName)static java.beans.PropertyDescriptorgetPropertyDescriptorByName(java.lang.Object bean, java.lang.String propertyName)static java.beans.PropertyDescriptorgetPropertyDescriptorByNameOrThrow(java.lang.Class<?> beanClass, java.lang.String propertyName)static java.beans.PropertyDescriptorgetPropertyDescriptorByNameOrThrow(java.lang.Object bean, java.lang.String propertyName)static java.util.Collection<java.beans.PropertyDescriptor>getPropertyDescriptors(java.lang.Class<?> type)static java.util.Collection<java.beans.PropertyDescriptor>getPropertyDescriptors(java.lang.Object object)static <A extends java.lang.annotation.Annotation>
java.util.Map<java.beans.PropertyDescriptor,A>getPropertyDescriptorsWithAnnotation(java.lang.Class<?> type, java.lang.Class<A> annotationClass)static <A extends java.lang.annotation.Annotation>
java.util.Map<java.beans.PropertyDescriptor,A>getPropertyDescriptorsWithAnnotation(java.lang.Object object, java.lang.Class<A> annotationClass)static <T> java.lang.StringgetPropertyName(java.lang.Class<T> beanClass, TypedPropertyGetter<T,?> propertyGetter)static <T> java.lang.StringgetPropertyName(T bean, TypedPropertyGetter<T,?> propertyGetter)static java.lang.StringgetQualifiedPropertyName(java.lang.Class<?> type, java.beans.PropertyDescriptor propertyDescriptor)static java.lang.StringgetQualifiedPropertyName(java.lang.Class<?> type, java.lang.String name)static <T> java.lang.StringgetQualifiedPropertyName(java.lang.Class<T> type, TypedPropertyGetter<T,?> propertyGetter)static java.lang.StringgetQualifiedPropertyName(java.lang.Object bean, java.beans.PropertyDescriptor propertyDescriptor)static <T> java.lang.StringgetQualifiedPropertyName(T bean, TypedPropertyGetter<T,?> propertyGetter)static booleanhasAnnotationOfProperty(java.lang.Class<?> entityType, java.beans.PropertyDescriptor descriptor, java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)static <T> booleanhasDefaultValue(T bean, java.beans.PropertyDescriptor propertyDescriptor)static <T> booleanhasDifferentValue(T a, T b, java.beans.PropertyDescriptor propertyDescriptor)static booleanhasProperty(java.lang.Class<?> beanClass, java.lang.String propertyName)static booleanhasProperty(java.lang.Object bean, java.lang.String propertyName)static <T> booleanhasSameValue(T a, T b, java.beans.PropertyDescriptor propertyDescriptor)static booleanisCollectionType(java.beans.PropertyDescriptor propertyDescriptor)static booleanisDeclaredInClass(java.beans.PropertyDescriptor propertyDescriptor, java.lang.Class<?> entityClass)static <T> booleanisDefaultValue(java.lang.Class<T> objectClass, TypedPropertyGetter<T,?> propertyGetter, java.lang.Object value)static <T> booleanisDefaultValue(java.lang.Class<T> objectClass, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value)static booleanisFullyAccessible(java.beans.PropertyDescriptor descriptor)static booleanisNotCollectionType(java.beans.PropertyDescriptor propertyDescriptor)static booleanisReadable(java.beans.PropertyDescriptor descriptor)static booleanisWritable(java.beans.PropertyDescriptor descriptor)static <T> Tread(java.lang.Object source, java.beans.PropertyDescriptor propertyDescriptor)static <T> Tread(java.lang.Object source, java.beans.PropertyDescriptor propertyDescriptor, boolean force)static <T> TreadDirectly(java.lang.Object object, java.beans.PropertyDescriptor propertyDescriptor)static <T> TreadDirectly(java.lang.Object object, java.lang.reflect.Field field)static <T> TreadDirectly(java.lang.Object object, java.lang.String propertyName)static <T> TreadIfPropertyExists(java.lang.Object source, java.lang.String propertyName)static <T> TreadProperty(java.lang.Object entity, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Class<T> expectedType)static voidwrite(java.lang.Object destination, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value)static voidwrite(java.lang.Object destination, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value, boolean force)static voidwrite(java.lang.Object destination, java.lang.String propertyName, java.lang.Object value)static voidwriteDirectly(java.lang.Object destination, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value)static voidwriteDirectly(java.lang.Object destination, java.lang.reflect.Field field, java.lang.Object value)static voidwriteDirectly(java.lang.Object destination, java.lang.String propertyName, java.lang.Object value)static <T> voidwriteIfPropertyExists(java.lang.Object destination, java.lang.String propertyName, java.util.function.Supplier<T> valueSupplier)
-
Method Details
-
getPropertyDescriptorByName
@Nullable public static java.beans.PropertyDescriptor getPropertyDescriptorByName(java.lang.Object bean, java.lang.String propertyName) -
getPropertyDescriptorByName
@Nullable public static java.beans.PropertyDescriptor getPropertyDescriptorByName(java.lang.Class<?> beanClass, java.lang.String propertyName) -
getPropertyDescriptorByNameOrThrow
@Nonnull public static java.beans.PropertyDescriptor getPropertyDescriptorByNameOrThrow(java.lang.Object bean, java.lang.String propertyName) -
getPropertyDescriptorByNameOrThrow
@Nonnull public static java.beans.PropertyDescriptor getPropertyDescriptorByNameOrThrow(java.lang.Class<?> beanClass, java.lang.String propertyName) -
getPropertyDescriptors
public static java.util.Collection<java.beans.PropertyDescriptor> getPropertyDescriptors(java.lang.Class<?> type) -
getPropertyDescriptors
public static java.util.Collection<java.beans.PropertyDescriptor> getPropertyDescriptors(java.lang.Object object) -
getPropertyDescriptorsWithAnnotation
public static <A extends java.lang.annotation.Annotation> java.util.Map<java.beans.PropertyDescriptor,A> getPropertyDescriptorsWithAnnotation(java.lang.Object object, java.lang.Class<A> annotationClass) -
getPropertyDescriptorsWithAnnotation
public static <A extends java.lang.annotation.Annotation> java.util.Map<java.beans.PropertyDescriptor,A> getPropertyDescriptorsWithAnnotation(java.lang.Class<?> type, java.lang.Class<A> annotationClass) -
copyNonDefaultValues
public static <T> T copyNonDefaultValues(T source, T destination) -
copyNonDefaultValues
public static <T> T copyNonDefaultValues(T source, T destination, java.beans.PropertyDescriptor... excludedProperties) -
copyNonDefaultValues
public static <T> T copyNonDefaultValues(T source, T destination, java.util.Collection<java.beans.PropertyDescriptor> excludedProperties) -
copyValue
public static <T> java.lang.Object copyValue(T source, T destination, java.beans.PropertyDescriptor propertyDescriptor) -
hasDefaultValue
public static <T> boolean hasDefaultValue(T bean, java.beans.PropertyDescriptor propertyDescriptor) -
hasSameValue
public static <T> boolean hasSameValue(T a, T b, java.beans.PropertyDescriptor propertyDescriptor) -
hasDifferentValue
public static <T> boolean hasDifferentValue(T a, T b, java.beans.PropertyDescriptor propertyDescriptor) -
isDefaultValue
public static <T> boolean isDefaultValue(java.lang.Class<T> objectClass, TypedPropertyGetter<T,?> propertyGetter, java.lang.Object value) -
isDefaultValue
public static <T> boolean isDefaultValue(java.lang.Class<T> objectClass, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value) -
getDefaultValue
public static <T> java.lang.Object getDefaultValue(java.lang.Class<T> objectClass, java.beans.PropertyDescriptor propertyDescriptor) -
write
public static void write(java.lang.Object destination, java.lang.String propertyName, java.lang.Object value) -
writeIfPropertyExists
public static <T> void writeIfPropertyExists(java.lang.Object destination, java.lang.String propertyName, java.util.function.Supplier<T> valueSupplier) -
write
public static void write(java.lang.Object destination, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value) -
write
public static void write(java.lang.Object destination, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value, boolean force) -
writeDirectly
public static void writeDirectly(java.lang.Object destination, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value) -
writeDirectly
public static void writeDirectly(java.lang.Object destination, java.lang.String propertyName, java.lang.Object value) -
writeDirectly
public static void writeDirectly(java.lang.Object destination, java.lang.reflect.Field field, java.lang.Object value) -
readDirectly
public static <T> T readDirectly(java.lang.Object object, java.beans.PropertyDescriptor propertyDescriptor) -
readDirectly
public static <T> T readDirectly(java.lang.Object object, java.lang.String propertyName) -
readDirectly
public static <T> T readDirectly(java.lang.Object object, java.lang.reflect.Field field) -
read
public static <T> T read(java.lang.Object source, java.beans.PropertyDescriptor propertyDescriptor) -
read
public static <T> T read(java.lang.Object source, java.beans.PropertyDescriptor propertyDescriptor, boolean force) -
readIfPropertyExists
public static <T> T readIfPropertyExists(java.lang.Object source, java.lang.String propertyName) -
readProperty
public static <T> T readProperty(java.lang.Object entity, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Class<T> expectedType) -
getPropertyDescriptor
@Nonnull public static <T> java.beans.PropertyDescriptor getPropertyDescriptor(T bean, TypedPropertyGetter<T,?> propertyGetter) -
getPropertyDescriptor
@Nonnull public static <T> java.beans.PropertyDescriptor getPropertyDescriptor(java.lang.Class<T> beanClass, TypedPropertyGetter<T,?> propertyGetter) -
getPropertyName
@Nonnull public static <T> java.lang.String getPropertyName(java.lang.Class<T> beanClass, TypedPropertyGetter<T,?> propertyGetter) -
getPropertyName
@Nonnull public static <T> java.lang.String getPropertyName(T bean, TypedPropertyGetter<T,?> propertyGetter) -
getPropertyDescriptorByMethod
@Nullable public static <T> java.beans.PropertyDescriptor getPropertyDescriptorByMethod(java.lang.Class<T> beanClass, java.lang.reflect.Method method) -
getPropertyDescriptorByField
@Nullable public static <T> java.beans.PropertyDescriptor getPropertyDescriptorByField(java.lang.Class<T> beanClass, java.lang.reflect.Field field) -
getMethod
@Nonnull public static <T> java.lang.reflect.Method getMethod(java.lang.Class<T> beanClass, TypedPropertyGetter<T,?> propertyGetter) -
findMethodByGetter
public static <T> java.lang.reflect.Method findMethodByGetter(java.lang.Class<T> beanClass, TypedPropertyGetter<T,?> propertyGetter) -
hasAnnotationOfProperty
public static boolean hasAnnotationOfProperty(java.lang.Class<?> entityType, java.beans.PropertyDescriptor descriptor, java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass) -
getAnnotationOfProperty
public static <T, A extends java.lang.annotation.Annotation> A getAnnotationOfProperty(java.lang.Class<T> entityType, TypedPropertyGetter<T,?> propertyGetter, java.lang.Class<A> annotationClass) -
getAnnotationOfProperty
public static <A extends java.lang.annotation.Annotation> A getAnnotationOfProperty(java.lang.Object object, java.beans.PropertyDescriptor descriptor, java.lang.Class<A> annotationClass) -
getAnnotationOfProperty
public static <A extends java.lang.annotation.Annotation> A getAnnotationOfProperty(java.lang.Class<?> entityType, java.beans.PropertyDescriptor descriptor, java.lang.Class<A> annotationClass) -
isFullyAccessible
public static boolean isFullyAccessible(java.beans.PropertyDescriptor descriptor) -
isWritable
public static boolean isWritable(java.beans.PropertyDescriptor descriptor) -
isReadable
public static boolean isReadable(java.beans.PropertyDescriptor descriptor) -
isDeclaredInClass
public static boolean isDeclaredInClass(java.beans.PropertyDescriptor propertyDescriptor, java.lang.Class<?> entityClass) -
hasProperty
public static boolean hasProperty(java.lang.Object bean, java.lang.String propertyName) -
hasProperty
public static boolean hasProperty(java.lang.Class<?> beanClass, java.lang.String propertyName) -
getDefaultValueObject
public static java.lang.Object getDefaultValueObject(java.lang.Class<?> type) -
getQualifiedPropertyName
public static <T> java.lang.String getQualifiedPropertyName(T bean, TypedPropertyGetter<T,?> propertyGetter) -
getQualifiedPropertyName
public static <T> java.lang.String getQualifiedPropertyName(java.lang.Class<T> type, TypedPropertyGetter<T,?> propertyGetter) -
getQualifiedPropertyName
public static java.lang.String getQualifiedPropertyName(java.lang.Object bean, java.beans.PropertyDescriptor propertyDescriptor) -
getQualifiedPropertyName
public static java.lang.String getQualifiedPropertyName(java.lang.Class<?> type, java.beans.PropertyDescriptor propertyDescriptor) -
getQualifiedPropertyName
public static java.lang.String getQualifiedPropertyName(java.lang.Class<?> type, java.lang.String name) -
isCollectionType
public static boolean isCollectionType(java.beans.PropertyDescriptor propertyDescriptor) -
isNotCollectionType
public static boolean isNotCollectionType(java.beans.PropertyDescriptor propertyDescriptor)
-