首页 文章

建议从另一个java文件生成java文件的方法

提问于
浏览
0

让我们考虑一下,我有一个如下文件:

@CreateFieldClass
    public class Queue {
      private String queueId;
      private int order;
      private boolean isActive;

      /* Getters and Setters */

    }

我想要的是,如果有@CreateFieldClass注释,我想生成一个新的java文件,在同一个包中看起来像这样

public class QueueFields {
        public static final Field<Queue, String> QUEUE_ID = new Field<>(Queue.class, "queueId", DataType.STRING);
        public static final Field<Queue, Integer> ORDER = new Field<>(Queue.class,"order", DataType.NUMBER);
        public static final Field<Queue, Boolean> IS_ACTIVE = new Field<>(Queue.class,"isActive", DataType.Boolean);
    }

我有一个Java类型映射到上面提到的“DataType” . 我知道ASM是一个需要考虑的选项,但有没有更好的建议,甚至有些ASM教程/示例可以帮助我 .

1 回答

  • 0

    要检查带注释的类,可以使用反射 . 请注意,使用泛型的任何字段都会因擦除而丢失通用参数类型(如果需要解决这些问题,则需要解析源代码并解析分析树) . 要生成结果类,可以执行基本的字符串连接 . 如果你想要一个更结构化的方法来生成代码,我喜欢codemodel库 .

相关问题