Class BeanUtil

java.lang.Object
org.skr.common.util.BeanUtil

public class BeanUtil extends Object
  • Field Details

    • PRIMITIVE_TYPES

      public static Map<Class<?>,Class<?>> PRIMITIVE_TYPES
  • Constructor Details

    • BeanUtil

      public BeanUtil()
  • Method Details

    • isPrimitive

      public static boolean isPrimitive(Object val)
    • isPrimitive

      public static boolean isPrimitive(@NonNull @NonNull Class<?> clazz)
    • getCollectionParameterizeType

      public static Class<?> getCollectionParameterizeType(@NonNull @NonNull Parameter parameter)
    • copyFields

      public static <E> void copyFields(@NonNull E source, @NonNull E target)
      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.
    • copyFieldsExcluding

      public static <E> void copyFieldsExcluding(@NonNull E source, @NonNull E target, String... fields)
      Parameters:
      fields - to be excluded for copying
      See Also:
    • copyFieldsIncluding

      public static <E> void copyFieldsIncluding(@NonNull E source, @NonNull E target, String... fields)
      Parameters:
      fields - to be included for copying
      See Also:
    • copyFields

      public static <E> void copyFields(@NonNull E source, @NonNull E target, boolean ignoreNullField, boolean includeOrExclude, String... fields)
    • getFieldValue

      public static <T> T getFieldValue(@NotNull @NotNull Object target, @NotNull @NotNull String path)
    • getFieldClass

      public static Class<?> getFieldClass(@NonNull @NonNull Object target, @NonNull @NonNull String fieldName)
    • setFieldValue

      public static void setFieldValue(@NonNull @NonNull Object target, @NonNull @NonNull String fieldName, Object value)
    • deepClone

      public static <T extends Serializable> T deepClone(@NonNull T o)
    • getDeclaredMethod

      public static Method getDeclaredMethod(@NonNull @NonNull Class<?> clazz, @NonNull @NonNull String methodName, Class<?>... parameterTypes)
    • getMethod

      public static Method getMethod(@NonNull @NonNull Class<?> clazz, @NonNull @NonNull String methodName, Class<?>... parameterTypes)
    • callMethod

      public static <R, O> R callMethod(O object, @NonNull @NonNull String methodName, Object... parameters)
    • callMethod

      public static <R> R callMethod(Class<?> clazz, Object object, @NonNull @NonNull String methodName, Object... parameters)
      This method doesn't always function as expected. Be 100% sure and tested when you use it. As known, this method is not worked for following case: * parameter type is primitive number, e.g. int.class * parameter type is general type, e.g. Object.class