Class DynamicBean

java.lang.Object
org.aoju.bus.core.clone.Cloning<DynamicBean>
org.aoju.bus.core.beans.DynamicBean
All Implemented Interfaces:
Serializable, Cloneable, Cloneable<DynamicBean>

public class DynamicBean extends Cloning<DynamicBean> implements Serializable
动态Bean,通过反射对Bean的相关方法做操作 支持Map和普通Bean
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • DynamicBean

      public DynamicBean(Class<?> beanClass, Object... params)
      构造
      Parameters:
      beanClass - Bean类
      params - 构造Bean所需要的参数
    • DynamicBean

      public DynamicBean(Object bean)
      构造
      Parameters:
      bean - 原始Bean
    • DynamicBean

      public DynamicBean(Class<?> beanClass)
      构造
      Parameters:
      beanClass - Bean类
  • Method Details

    • create

      public static DynamicBean create(Object bean)
      创建一个DynamicBean
      Parameters:
      bean - 普通Bean
      Returns:
      DynamicBean
    • create

      public static DynamicBean create(Class<?> beanClass)
      创建一个DynamicBean
      Parameters:
      beanClass - Bean类
      Returns:
      DynamicBean
    • create

      public static DynamicBean create(Class<?> beanClass, Object... params)
      创建一个DynamicBean
      Parameters:
      beanClass - Bean类
      params - 构造Bean所需要的参数
      Returns:
      DynamicBean
    • invoke

      public Object invoke(String methodName, Object... params)
      执行原始Bean中的方法
      Parameters:
      methodName - 方法名
      params - 参数
      Returns:
      执行结果, 可能为null
    • get

      public <T> T get(String fieldName) throws InternalException
      获得字段对应值
      Type Parameters:
      T - 属性值类型
      Parameters:
      fieldName - 字段名
      Returns:
      字段值
      Throws:
      InternalException - 反射获取属性值或字段值导致的异常
    • set

      public void set(String fieldName, Object value) throws InternalException
      设置字段值
      Parameters:
      fieldName - 字段名
      value - 字段值
      Throws:
      InternalException - 反射获取属性值或字段值导致的异常
    • contains

      public boolean contains(String fieldName)
      检查是否有指定名称的bean属性
      Parameters:
      fieldName - 字段名
      Returns:
      是否有bean属性
    • getBean

      public <T> T getBean()
      获得原始Bean
      Type Parameters:
      T - Bean类型
      Returns:
      bean
    • getBeanClass

      public <T> Class<T> getBeanClass()
      获得Bean的类型
      Type Parameters:
      T - Bean类型
      Returns:
      Bean类型
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object value)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object