Tag: apt

使用注释生成equals / hashcode / toString

我相信我通过识别哪些字段应该是散列/相等测试的一部分来读取人们在编译期间(使用APT)生成equals / hashcode / toString方法的地方。 我在网上找不到那样的东西(我可能梦见过它?)…… 这可以这样做: public class Person { @Id @GeneratedValue private Integer id; @Identity private String firstName, lastName; @Identity private Date dateOfBirth; //… } 对于一个实体(所以我们想要排除一些字段,比如id)。 或者像scala案例类,即值对象: @ValueObject public class Color { private int red, green, blue; } 不仅文件变得更易读和更容易编写,而且它还有助于确保所有属性都是equals / hashcode的一部分(如果您稍后添加其他属性,而不相应地更新方法)。 我听说APT在IDE中得不到很好的支持,但我不认为这是一个主要问题。 毕竟,测试主要由持续集成服务器运行。 有没有想过这是否已经完成,如果不是为什么? 谢谢

使用注释创建Callables

我正在尝试建立一个类似于https://github.com/ElgarL/TownyChat/blob/master/src/com/palmergames/bukkit/TownyChat/TownyChatFormatter.java的系统 replacer.registerFormatReplacement(Pattern.quote(“{worldname}”), new TownyChatReplacerCallable() { @Override public String call(String match, LocalTownyChatEvent event) throws Exception { return String.format(ChatSettings.getWorldTag(), event.getEvent().getPlayer().getWorld().getName()); } }); replacer.registerFormatReplacement(Pattern.quote(“{town}”), new TownyChatReplacerCallable() { @Override public String call(String match, LocalTownyChatEvent event) throws Exception { return event.getResident().hasTown() ? event.getResident().getTown().getName() : “”; } }); 和更多。 有没有办法使用注释来减少重复代码的数量,避免reflection调用调用方法,并且只在注册时使用它,如果有的话? 我并不反对创建注释预处理器的想法,因为我已经计划这样做以启用自动生成文档。

eclipse java注释处理

我想在eclipse jdt中使用Annotation处理做一些事情。 Eclipse jdtapt帮助告诉我应该在java / compiler / annotation处理首选项页面上配置东西。 但是在我的安装(Indigo)上,编译器部分没有这个注释处理子部分。 它只有构建,错误/警告,javadoc,任务标记。 我的安装有问题吗?

处理方法体内的注释

我正在使用Pluggable Annotation Processing API处理java注释。 是否有可能同时处理方法体内使用的注释? 感谢帮助。 彼得

使用Ant进行Java 6注释处理配置

我有一个自定义注释,它是处理器和处理器工厂。 如何配置我的Ant构建文件,以便: 注释处理器应用于带注释的类,并在“gen”文件夹中生成源文件 生成的源文件(来自注释处理)可以由项目中的其他源文件使用。