程序包 cn.wjybxx.apt

类 BeanUtils

java.lang.Object
cn.wjybxx.apt.BeanUtils

public class BeanUtils extends Object
java bean 工具类
作者:
wjybxx date 2023/4/6
  • 构造器详细资料

    • BeanUtils

      public BeanUtils()
  • 方法详细资料

    • containsNoArgsConstructor

      public static boolean containsNoArgsConstructor(TypeElement typeElement)
      判断一个类是否包含无参构造方法
    • containsOneArgsConstructor

      public static boolean containsOneArgsConstructor(Types typeUtils, TypeElement typeElement, TypeMirror argType)
      判断一个类是否包含指定参数的单参构造方法
    • getNoArgsConstructor

      @Nullable public static ExecutableElement getNoArgsConstructor(TypeElement typeElement)
      查找无参构造方法
    • getOneArgsConstructor

      @Nullable public static ExecutableElement getOneArgsConstructor(Types typeUtils, TypeElement typeElement, TypeMirror argType)
      查找单参数的构造方法
    • getAllFieldsAndMethodsWithInherit

      public static List<Element> getAllFieldsAndMethodsWithInherit(TypeElement typeElement)
      获取类的所有字段和方法,包含继承得到的字段和方法 注意:不包含接口和静态字段。

      Elements.getAllMembers(TypeElement)只包含父类的公共属性,不包含私有的东西 -- 因此不能使用。

    • getAllFieldsWithInherit

      public static List<Element> getAllFieldsWithInherit(TypeElement typeElement)
    • getAllMethodsWithInherit

      public static List<ExecutableElement> getAllMethodsWithInherit(TypeElement typeElement)
      获取类所有的方法,包含继承得到的方法 Elements.getAllMembers(TypeElement)只包含父类的公共属性,不包含私有的东西。 注意: 1. 不包含接口中的方法。 2. 包含静态方法
    • containsNotPrivateSetter

      public static boolean containsNotPrivateSetter(Types typeUtils, VariableElement variableElement, List<? extends Element> allFieldsAndMethodWithInherit)
      是否包含非private的setter方法
    • containsNotPrivateGetter

      public static boolean containsNotPrivateGetter(Types typeUtils, VariableElement variableElement, List<? extends Element> allFieldsAndMethodWithInherit)
      是否包含非private的getter方法
    • findNotPrivateSetter

      public static ExecutableElement findNotPrivateSetter(Types typeUtils, VariableElement variableElement, List<? extends Element> allFieldsAndMethodWithInherit)
      该方法会查询标准的setter命名,同时会查询set + firstCharToUpperCase(fieldName)格式的命名
    • findNotPrivateGetter

      public static ExecutableElement findNotPrivateGetter(Types typeUtils, VariableElement variableElement, List<? extends Element> allFieldsAndMethodWithInherit)
      该方法会查询标准的getter命名,同时会查询get + firstCharToUpperCase(fieldName)格式的命名
    • firstCharToUpperCase

      public static String firstCharToUpperCase(@Nonnull String str)
      首字符大写
      参数:
      str - content
      返回:
      首字符大写的字符串
    • firstCharToLowerCase

      public static String firstCharToLowerCase(@Nonnull String str)
      首字母小写
      参数:
      str - content
      返回:
      首字符小写的字符串
    • getterMethodName

      public static String getterMethodName(String filedName, boolean isPrimitiveBoolean)
      获取标准getter方法的名字
      参数:
      filedName - 字段名字
      isPrimitiveBoolean - 是否是bool值 - 坑太多了,只有基本类型的boolean才会变成is,包装类型的不会
      返回:
      方法名
    • setterMethodName

      public static String setterMethodName(String filedName, boolean isPrimitiveBoolean)
      获取标准setter方法的名字
      参数:
      filedName - 字段名字
      返回:
      方法名