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> T copyNonDefaultValues​(T source, T destination)  
    static <T> T copyNonDefaultValues​(T source, T destination, java.beans.PropertyDescriptor... excludedProperties)  
    static <T> T copyNonDefaultValues​(T source, T destination, java.util.Collection<java.beans.PropertyDescriptor> excludedProperties)  
    static <T> java.lang.Object copyValue​(T source, T destination, java.beans.PropertyDescriptor propertyDescriptor)  
    static <T> java.lang.reflect.Method findMethodByGetter​(java.lang.Class<T> beanClass, TypedPropertyGetter<T,​?> propertyGetter)  
    static <A extends java.lang.annotation.Annotation>
    A
    getAnnotationOfProperty​(java.lang.Class<?> entityType, java.beans.PropertyDescriptor descriptor, java.lang.Class<A> annotationClass)  
    static <T,​ A extends java.lang.annotation.Annotation>
    A
    getAnnotationOfProperty​(java.lang.Class<T> entityType, TypedPropertyGetter<T,​?> propertyGetter, java.lang.Class<A> annotationClass)  
    static <A extends java.lang.annotation.Annotation>
    A
    getAnnotationOfProperty​(java.lang.Object object, java.beans.PropertyDescriptor descriptor, java.lang.Class<A> annotationClass)  
    static <T> java.lang.Object getDefaultValue​(java.lang.Class<T> objectClass, java.beans.PropertyDescriptor propertyDescriptor)  
    static java.lang.Object getDefaultValueObject​(java.lang.Class<?> type)  
    static <T> java.lang.reflect.Method getMethod​(java.lang.Class<T> beanClass, TypedPropertyGetter<T,​?> propertyGetter)  
    static <T> java.beans.PropertyDescriptor getPropertyDescriptor​(java.lang.Class<T> beanClass, TypedPropertyGetter<T,​?> propertyGetter)  
    static <T> java.beans.PropertyDescriptor getPropertyDescriptor​(T bean, TypedPropertyGetter<T,​?> propertyGetter)  
    static <T> java.beans.PropertyDescriptor getPropertyDescriptorByField​(java.lang.Class<T> beanClass, java.lang.reflect.Field field)  
    static <T> java.beans.PropertyDescriptor getPropertyDescriptorByMethod​(java.lang.Class<T> beanClass, java.lang.reflect.Method method)  
    static java.beans.PropertyDescriptor getPropertyDescriptorByName​(java.lang.Class<?> beanClass, java.lang.String propertyName)  
    static java.beans.PropertyDescriptor getPropertyDescriptorByName​(java.lang.Object bean, java.lang.String propertyName)  
    static java.beans.PropertyDescriptor getPropertyDescriptorByNameOrThrow​(java.lang.Class<?> beanClass, java.lang.String propertyName)  
    static java.beans.PropertyDescriptor getPropertyDescriptorByNameOrThrow​(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.String getPropertyName​(java.lang.Class<T> beanClass, TypedPropertyGetter<T,​?> propertyGetter)  
    static <T> java.lang.String getPropertyName​(T bean, TypedPropertyGetter<T,​?> propertyGetter)  
    static java.lang.String getQualifiedPropertyName​(java.lang.Class<?> type, java.beans.PropertyDescriptor propertyDescriptor)  
    static java.lang.String getQualifiedPropertyName​(java.lang.Class<?> type, java.lang.String name)  
    static <T> java.lang.String getQualifiedPropertyName​(java.lang.Class<T> type, TypedPropertyGetter<T,​?> propertyGetter)  
    static java.lang.String getQualifiedPropertyName​(java.lang.Object bean, java.beans.PropertyDescriptor propertyDescriptor)  
    static <T> java.lang.String getQualifiedPropertyName​(T bean, TypedPropertyGetter<T,​?> propertyGetter)  
    static boolean hasAnnotationOfProperty​(java.lang.Class<?> entityType, java.beans.PropertyDescriptor descriptor, java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)  
    static <T> boolean hasDefaultValue​(T bean, java.beans.PropertyDescriptor propertyDescriptor)  
    static <T> boolean hasDifferentValue​(T a, T b, java.beans.PropertyDescriptor propertyDescriptor)  
    static boolean hasProperty​(java.lang.Class<?> beanClass, java.lang.String propertyName)  
    static boolean hasProperty​(java.lang.Object bean, java.lang.String propertyName)  
    static <T> boolean hasSameValue​(T a, T b, java.beans.PropertyDescriptor propertyDescriptor)  
    static boolean isCollectionType​(java.beans.PropertyDescriptor propertyDescriptor)  
    static boolean isDeclaredInClass​(java.beans.PropertyDescriptor propertyDescriptor, java.lang.Class<?> entityClass)  
    static <T> boolean isDefaultValue​(java.lang.Class<T> objectClass, TypedPropertyGetter<T,​?> propertyGetter, java.lang.Object value)  
    static <T> boolean isDefaultValue​(java.lang.Class<T> objectClass, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value)  
    static boolean isFullyAccessible​(java.beans.PropertyDescriptor descriptor)  
    static boolean isNotCollectionType​(java.beans.PropertyDescriptor propertyDescriptor)  
    static boolean isReadable​(java.beans.PropertyDescriptor descriptor)  
    static boolean isWritable​(java.beans.PropertyDescriptor descriptor)  
    static <T> T read​(java.lang.Object source, java.beans.PropertyDescriptor propertyDescriptor)  
    static <T> T read​(java.lang.Object source, java.beans.PropertyDescriptor propertyDescriptor, boolean force)  
    static <T> T readDirectly​(java.lang.Object object, java.beans.PropertyDescriptor propertyDescriptor)  
    static <T> T readDirectly​(java.lang.Object object, java.lang.reflect.Field field)  
    static <T> T readDirectly​(java.lang.Object object, java.lang.String propertyName)  
    static <T> T readIfPropertyExists​(java.lang.Object source, java.lang.String propertyName)  
    static <T> T readProperty​(java.lang.Object entity, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Class<T> expectedType)  
    static void write​(java.lang.Object destination, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value)  
    static void write​(java.lang.Object destination, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value, boolean force)  
    static void write​(java.lang.Object destination, java.lang.String propertyName, java.lang.Object value)  
    static void writeDirectly​(java.lang.Object destination, java.beans.PropertyDescriptor propertyDescriptor, java.lang.Object value)  
    static void writeDirectly​(java.lang.Object destination, java.lang.reflect.Field field, java.lang.Object value)  
    static void writeDirectly​(java.lang.Object destination, java.lang.String propertyName, java.lang.Object value)  
    static <T> void writeIfPropertyExists​(java.lang.Object destination, java.lang.String propertyName, java.util.function.Supplier<T> valueSupplier)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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)