Module bus.core

Interface BeanDesc

All Superinterfaces:
Serializable
All Known Implementing Classes:
AbstractBeanDesc, RecordBeanDesc, SimpleBeanDesc, StrictBeanDesc

public interface BeanDesc extends Serializable
Bean信息描述做为BeanInfo替代方案,此对象持有JavaBean中的setters和getters等相关信息描述 查找Getter和Setter方法时会:
 1. 忽略字段和方法名的大小写
 2. Getter查找getXXX、isXXX、getIsXXX
 3. Setter查找setXXX、setIsXXX
 4. Setter忽略参数值与字段值不匹配的情况,因此有多个参数类型的重载时,会调用首次匹配的
 
Since:
Java 17+
Author:
Kimi Liu
  • Method Summary

    Modifier and Type
    Method
    Description
    default Invoker
    getGetter(String fieldName)
    获取Getter方法,如果不存在返回null
    default PropDesc
    getProp(String fieldName)
    获取属性,如果不存在返回null
    getPropMap(boolean ignoreCase)
    获取字段名-字段属性Map
    获取字段属性列表
    default Invoker
    getSetter(String fieldName)
    获取Setter方法,如果不存在返回null
    default boolean
    是否为空
    default boolean
    isReadable(boolean checkTransient)
    是否有可读字段,即有getter方法或public字段
    default boolean
    isWritable(boolean checkTransient)
    是否有可写字段,即有setter方法或public字段
    default int
    获取Bean属性数量
  • Method Details

    • getPropMap

      Map<String,PropDesc> getPropMap(boolean ignoreCase)
      获取字段名-字段属性Map
      Parameters:
      ignoreCase - 是否忽略大小写,true为忽略,false不忽略
      Returns:
      字段名-字段属性Map
    • size

      default int size()
      获取Bean属性数量
      Returns:
      字段数量
    • isEmpty

      default boolean isEmpty()
      是否为空
      Returns:
      是否为空
    • isReadable

      default boolean isReadable(boolean checkTransient)
      是否有可读字段,即有getter方法或public字段
      Parameters:
      checkTransient - 是否检查transient字段,true表示检查,false表示不检查
      Returns:
      是否有可读字段
    • isWritable

      default boolean isWritable(boolean checkTransient)
      是否有可写字段,即有setter方法或public字段
      Parameters:
      checkTransient - 是否检查transient字段,true表示检查,false表示不检查
      Returns:
      是否有可写字段
    • getProps

      default Collection<PropDesc> getProps()
      获取字段属性列表
      Returns:
      PropDesc 列表
    • getProp

      default PropDesc getProp(String fieldName)
      获取属性,如果不存在返回null
      Parameters:
      fieldName - 字段名
      Returns:
      PropDesc
    • getGetter

      default Invoker getGetter(String fieldName)
      获取Getter方法,如果不存在返回null
      Parameters:
      fieldName - 字段名
      Returns:
      Getter方法
    • getSetter

      default Invoker getSetter(String fieldName)
      获取Setter方法,如果不存在返回null
      Parameters:
      fieldName - 字段名
      Returns:
      Setter方法