Class BeanUtil


  • public class BeanUtil
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      BeanUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <E> void copyFields​(E source, E target, java.lang.String... ignoreFields)
      Copy Object source to Object target.
      static <E> void copyIncludeOrExcludeFields​(E source, E target, boolean isInclude, java.lang.String... fields)  
      static <E> void copySpecifiedFields​(E source, E target, java.lang.String... specifiedFields)  
      static <T extends java.io.Serializable>
      T
      deepClone​(T o)  
      static java.lang.reflect.Method getDeclaredMethod​(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class... parameterTypes)  
      static java.lang.Class getFieldClass​(java.lang.Object target, java.lang.String fieldName)  
      static <T> T getFieldValue​(java.lang.Object target, java.lang.String fieldName)  
      static java.lang.reflect.Method getMethod​(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class... parameterTypes)  
      static void setFieldValue​(java.lang.Object target, java.lang.String fieldName, java.lang.Object value)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BeanUtil

        public BeanUtil()
    • Method Detail

      • copyFields

        public static <E> void copyFields​(E source,
                                          E target,
                                          java.lang.String... ignoreFields)
        Copy Object source to Object target. This coping is not recursive. If a source field is Collection, it's element will be Collection.addAll(Collection) to corresponding target field, instead of copy the Collection reference. Hence if target's Collection is not initialized and remains null, it won't be copied.
        Parameters:
        ignoreFields - fields to be ignored
      • copySpecifiedFields

        public static <E> void copySpecifiedFields​(E source,
                                                   E target,
                                                   java.lang.String... specifiedFields)
        Parameters:
        specifiedFields - fields to be copied
        See Also:
        copyFields(Object, Object, String...)
      • copyIncludeOrExcludeFields

        public static <E> void copyIncludeOrExcludeFields​(E source,
                                                          E target,
                                                          boolean isInclude,
                                                          java.lang.String... fields)
        Parameters:
        fields - including or excluding fields
        isInclude -
        See Also:
        copyFields(Object, Object, String...)
      • getFieldValue

        public static <T> T getFieldValue​(java.lang.Object target,
                                          java.lang.String fieldName)
      • getFieldClass

        public static java.lang.Class getFieldClass​(java.lang.Object target,
                                                    java.lang.String fieldName)
      • setFieldValue

        public static void setFieldValue​(java.lang.Object target,
                                         java.lang.String fieldName,
                                         java.lang.Object value)
      • deepClone

        public static <T extends java.io.Serializable> T deepClone​(T o)
      • getDeclaredMethod

        public static java.lang.reflect.Method getDeclaredMethod​(java.lang.Class<?> clazz,
                                                                 java.lang.String methodName,
                                                                 java.lang.Class... parameterTypes)
      • getMethod

        public static java.lang.reflect.Method getMethod​(java.lang.Class<?> clazz,
                                                         java.lang.String methodName,
                                                         java.lang.Class... parameterTypes)