是否可以创建自己的注释,如在Lombok lib中那样在编译时可见?
让我们想象一下,该类有100个按钮作为字段和100个相应的click方法。这使得该类相当大。
public class MainPage {
private Button logo;
private Button importImage;
private Button switcher;
// ... Buttons
public void clickOnLogo() {
Clicker.click(logo);
}
public void clickOnImportImage() {
Clicker.click(importImage);
}
public void clickOnSwitcher() {
Clicker.click(switcher);
}
// ... Corresponding click methods
}
我想创建一些注释以将其应用于每个字段或类,而不是编写方法。
@Clickable
public class MainPage {
private Button logo;
private Button importImage;
private Button switcher;
}
public class Runner {
public static void main(String[] args) {
// Some code initializing the main page.........
MainPage page = new MainPage();
page.clickOnLogo();
page.clickOnImportImage();
page.clickOnSwitcher();
}
}
答案 0 :(得分:0)
我会尝试一个代码生成框架。这样,您就可以在模型中描述您的域(在这种情况下为所有按钮),并从中生成所需的内容。
生成的代码应可读,并位于单独的目录中。您的IDE会像处理其他任何代码一样处理它。如果需要重新生成,只需丢弃旧代码并再次生成即可。
我在许多项目中使用了代码生成器,并在下面发布了自己的代码:
https://github.com/carstenSpraener/cgV19
如果您尝试这样做,反馈会很好。